Java JFrame窗体中,而不是Java类中,按源中按钮事件行为中 跳至另一个界面出错,一直闪出新的同一个界面

主界面的换界面的按钮:
private void leadoutActionPerformed(java.awt.event.ActionEvent evt) {

this.setVisible(false);
Tablej a=new Tablej();
}

public static void main(String args[]) {
/* Create and display the form */
java.awt.EventQueue.invokeLater(() -> {
new Window().setVisible(true);
});}
另一个界面构造函数:
public Tablej() {
initComponents();
java.awt.EventQueue.invokeLater(() -> {
new Tablej().setVisible(true);
});

}

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
求助关于JAVA JFrame中添加按钮之后删除按钮的问题。。

![图片说明](https://img-ask.csdn.net/upload/201812/10/1544447647_461124.png)![图片说明](https://img-ask.csdn.net/upload/201812/10/1544447661_724607.png) 第一个是一个按钮能正常删除,可是第二些数组按钮的时候却无法删除,希望大佬能指点一下。

java jframe弹出窗体内填写并执行几个按钮,如何实现?

如题,我希望弹出一个窗体,并在里面填写执行一些功能,而之前的父窗体在弹出窗体没关掉之前不能被点击。 希望各路大神给个指导,先谢谢了!

怎么设置整个JFrame窗体内字体样式,包括控件字体样式

怎么设置整个JFrame窗体内字体样式,包括控件字体样式。。。。。。。。。。,,,,。。。,。。。。

如何在JFrame中通过按钮事件载入不同面板?

我写了一个程序,想实现按oval按钮时,绘制圆形,按rectangle时,绘制矩形。 所以我写了两个JPanel的子类oval类和rectangle类。然后在JFrame中 想通过点击 不同按钮实现不同jpanel类的调用,该如何实现? jframe子类 public class DrawShapeByMouse extends JFrame { //add two buttons private JButton button1 = new JButton("Oval"); private JButton button2 = new JButton("Rectangle"); private JPanel ShapeJpanel = new DrawOval(); //Constructors public DrawShapeByMouse() { this.add(ShapeJpanel,BorderLayout.CENTER); add(button1,BorderLayout.SOUTH); add(button2,BorderLayout.NORTH); //给按键注册监听器 button1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { ShapeJpanel = new DrawOval(); } }); button2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { ShapeJpanel = new DrawRectangle(); System.out.println("你好世界!"); } }); } public static void main(String[] args) { DrawShapeByMouse frame = new DrawShapeByMouse(); frame.setTitle("DrawOvalByMouse"); frame.setSize(400,400); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } oval类 class DrawOval extends JPanel { private final Color[] color = {Color.red,Color.YELLOW,Color.GREEN,Color.ORANGE}; //填充颜色 private int xCoord = 0;// private int yCoord = 0;//圆心坐标 private final int radius = 30; //半径 private int num = 0; //用来控制颜色 //Constructors public DrawOval() { //鼠标点击事件注册监听器并且实现接口 this.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { xCoord = e.getX(); yCoord = e.getY(); num = (int)(Math.random()*color.length); repaint(); } }); this.addMouseMotionListener(new MouseMotionAdapter() { public void mouseDragged(MouseEvent e) { xCoord = e.getX(); yCoord = e.getY(); repaint(); } }); } //绘制面板 protected void paintComponent(Graphics g) { //super.paintComponent(g); g.setColor(color[num]); g.fillOval(xCoord-radius, yCoord-radius,radius,radius); } } rectangle同oval类;

JavaJFrame窗口中组件显示问题

我在JFrame中添加了菜单栏并为菜单项添加事件(在窗口中添加一个JComponent),但是窗口中不显示! 代码如下: package frame; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.EventQueue; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridLayout; import java.awt.event.*; import java.awt.geom.Ellipse2D; import java.awt.geom.Line2D; import java.awt.geom.Rectangle2D; import javax.swing.*; import javax.swing.event.*; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub EventQueue.invokeLater(new Runnable() { public void run() { MenuFrame frame = new MenuFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }); } } class MenuFrame extends JFrame{ public MenuFrame() { setTitle("TraPre"); setBounds(200, 90, DEFAULT_WIDTH, DEFAULT_HEIGHT); // setLayout(null); JMenu fileMenu = new JMenu("File"); // demonstrates accelerators JMenuItem openItem = fileMenu.add(new TestAction("Open")); openItem.setAccelerator(KeyStroke.getKeyStroke("ctrl O")); fileMenu.addSeparator(); JMenu SaveMenu = new JMenu("Save "); final JMenuItem SaveTraItem = new JMenuItem("Save Tra"); SaveTraItem.setAccelerator(KeyStroke.getKeyStroke("ctrl T")); SaveMenu.add(SaveTraItem); final JMenuItem SaveEnItem = new JMenuItem("Save En"); SaveEnItem.setAccelerator(KeyStroke.getKeyStroke("ctrl E")); SaveMenu.add(SaveEnItem); fileMenu.add(SaveMenu); fileMenu.add(new AbstractAction("Exit") { public void actionPerformed(ActionEvent event) { System.exit(0); } }); fileMenu.addMenuListener(new MenuListener() { public void menuSelected(MenuEvent event) { SaveTraItem.setEnabled(false); SaveEnItem.setEnabled(false); } public void menuDeselected(MenuEvent event) {} public void menuCanceled(MenuEvent event) {} }); // demonstrate icon Action cutAction = new TestAction("Cut"); cutAction.putValue(Action.SMALL_ICON, new ImageIcon("cn.gif")); Action copyAction = new TestAction("Copy"); copyAction.putValue(Action.SMALL_ICON, new ImageIcon("nz.gif")); Action pasteAction = new TestAction("Paste"); pasteAction.putValue(Action.SMALL_ICON, new ImageIcon("gi.gif")); JMenu DrawMenu = new JMenu("画网格"); DrawMenu.add(new DrawGridAction("Input Para")); // JMenuItem ParaItem = new JMenuItem("输入参数"); // ParaItem.addActionListener(new ActionListener() // { // public void actionPerformed(ActionEvent event) // { // JComponent drawgrid = new DrawComponent(); // panel1.add(drawgrid); // JButton button = new JButton(); // add(button, BorderLayout.NORTH); // validate(); // } // }); // ParaItem.addActionListener(new DrawGridAction()); // DrawMenu.add(ParaItem); JMenu ImportDataMenu = new JMenu("导入数据"); JMenuItem SqlTraItem = new JMenuItem("从SQL导入原始记录"); JMenuItem TxtEnItem = new JMenuItem("从TXT导入轨迹序列"); ImportDataMenu.add(SqlTraItem); ImportDataMenu.add(TxtEnItem); JMenu GenerateTraMenu = new JMenu("生成轨迹"); JMenu ComputEnMenu = new JMenu("熵值计算"); JMenuItem AllTraItem = new JMenuItem("计算所有轨迹熵值"); JMenuItem OneTraItem = new JMenuItem("计算一条轨迹的不同时间段的熵值"); JMenuItem SomeTimeItem = new JMenuItem("计算所有轨迹不同时间段的熵值"); ComputEnMenu.add(AllTraItem); ComputEnMenu.add(SomeTimeItem); ComputEnMenu.add(OneTraItem); JMenu TraPreMenu = new JMenu("轨迹预测"); // demonstrate mnemonics JMenu helpMenu = new JMenu("Help"); helpMenu.setMnemonic('H'); JMenuItem indexItem = new JMenuItem("Index"); indexItem.setMnemonic('I'); helpMenu.add(indexItem); // you can also add the mnemonic key to an action Action aboutAction = new TestAction("About"); aboutAction.putValue(Action.MNEMONIC_KEY, new Integer('A')); helpMenu.add(aboutAction); // add all top-level menus to menu bar JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); menuBar.add(fileMenu); menuBar.add(DrawMenu); menuBar.add(ImportDataMenu); menuBar.add(GenerateTraMenu); menuBar.add(ComputEnMenu); menuBar.add(TraPreMenu); menuBar.add(helpMenu); // demonstrate pop-ups popup = new JPopupMenu(); popup.add(cutAction); popup.add(copyAction); popup.add(pasteAction); JPanel panel = new JPanel(); panel.setComponentPopupMenu(popup); add(panel); // the following line is a workaround for bug 4966109 panel.addMouseListener(new MouseAdapter(){}); // DrawComponent drawgrid = new DrawComponent(); // add(drawgrid); } public static final int DEFAULT_WIDTH = 900; public static final int DEFAULT_HEIGHT = 600; private JPopupMenu popup; // private DrawComponent drawgrid; class TestAction extends AbstractAction { public TestAction(String name) { super(name); } public void actionPerformed(ActionEvent event) { System.out.println(getValue(Action.NAME) + " selected."); } } class DrawGridAction extends AbstractAction{ public DrawGridAction(String name) { super(name); } public void actionPerformed(ActionEvent event) { JButton button = new JButton(); add(button, BorderLayout.SOUTH); JComponent drawgrid = new DrawComponent(); getContentPane().add(drawgrid); validate(); setVisible(true); System.out.println(getValue(Action.NAME) + " selected."); } } }

java swing按钮事件。

要制作如图要求的一个界面,现在卡在给按钮提供方法那里,不知道该怎么返回得到的数组给列表。![图片说明](https://img-ask.csdn.net/upload/201906/02/1559408871_905289.png) ``` import java.awt.*; import java.awt.List; import javax.swing.*; import java.awt.event.*; import java.util.*; public class work2 { private JFrame jf = new JFrame("随机数序列排序"); private Container c = jf.getContentPane(); private JLabel a1 = new JLabel("长度"); private JTextField length = new JTextField(5); private JLabel a2 = new JLabel("范围"); private JTextField limit = new JTextField(5); private JButton creat = new JButton("生成"); private JButton sort = new JButton("排序"); private String[] list_1; private String[] list_2; private String[] list_3; private JList list1 = new JList(); private JList list2 = new JList(); private JList list3 = new JList(); private JScrollPane gundong1 = new JScrollPane(); private JScrollPane gundong2 = new JScrollPane(); private JScrollPane gundong3 = new JScrollPane(); public work2() { jf.setBounds(400,500,1000,300); c.setLayout(new BorderLayout()); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setVisible(true); init(); } public void init() { //面板的上边 JPanel title = new JPanel(); title.setLayout(new FlowLayout()); title.add(a1); title.add(length); title.add(a2); title.add(limit); title.add(creat); title.add(sort); c.add(title,"North"); //面板的下边 JPanel list = new JPanel(); list.setLayout(new FlowLayout()); gundong1.setBorder(BorderFactory.createTitledBorder("随机数序列")); gundong2.setBorder(BorderFactory.createTitledBorder("排序序列(升序)")); gundong3.setBorder(BorderFactory.createTitledBorder("降序序列(降序)")); gundong1.setViewportView(list1); gundong2.setViewportView(list2); gundong3.setViewportView(list3); list.add(gundong1); list.add(gundong2); list.add(gundong3); c.add(list,"Center"); } public void listerner() { creat.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { int len = Integer.parseInt(length.getText()); int limits = Integer.parseInt(limit.getText()); Random ra = new Random(); int[] arr1 = new int[len]; for(int i=0;i<len;i++) { arr1[i] = ra.nextInt(limits); list_3[i] = String.valueOf(arr1[i]); } list1.add(list_3); } }); } public static void main(String[] args) { new work2(); } } ```

新手求助:怎么在JAVA JFrame中添加几张图片

怎么在JAVA JFrame中添加几张图片,添加一张之后再添加的时候就只显示后面那张

JFrame的JButton点击事件无法正确显示另外的界面

网上找了个程序,自己改,是一个小游戏,本来只有一个游戏界面,我想添加一个登录页面,结果就刚加了个界面就卡住了。从Fishlord类中使用main()函数可以正确显示,但是通过另外一个JFrame通过JButton点击事件调用Fishlord时无法显示,而且连右上角的关闭按钮都不能点击! 代码在下面: 这个界面有按钮,点击按钮跳转到下面那个iframe,在JButton点击事件里使用new的方法 package fishhh; import java.awt.Color; import java.awt.Container; import java.awt.Font; import java.awt.Graphics; import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextField; public class Login { private static JFrame frame; public static void main(String[] args) throws Exception { // 窗体大小 frame = new JFrame(); frame.setSize(800, 480); frame.setLayout(null);//设置布局管理器为空 JButton button = new JButton("登 录"); button.setBounds(new Rectangle(280, 210, 220, 30));//参数分别是坐标x,y,宽,高 frame.add(button); JTextField tfUser = new JTextField(); tfUser.setBounds(new Rectangle(280, 140, 220, 25)); frame.add(tfUser); JPasswordField tfPwd = new JPasswordField(); tfPwd.setBounds(new Rectangle(280, 170, 220, 25)); frame.add(tfPwd); // 显示窗体 frame.setVisible(true); ImageIcon img = new ImageIcon("bg.jpg");// 这是背景图片 JLabel imgLabel = new JLabel(img);// 将背景图放在标签里。 frame.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE)); imgLabel.setBounds(0, 0, frame.getWidth(), frame.getHeight()); Container cp = frame.getContentPane(); cp.setLayout(null); ((JPanel) cp).setOpaque(false); // 这样就能显示出背景图片出来了 button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { //创建新的窗口 frame.setVisible(false); try { new Fishlord(); } catch (Exception e1) { e1.printStackTrace(); } } }); } public void close(){ frame.dispose(); } } 跳转到这个界面 package fishhh; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.Random; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JPanel; public class Fishlord { public static void main(String[] args) throws Exception { new Fishlord(); } public Fishlord() throws Exception{ JFrame frame = new JFrame("捕鱼达人"); Pool pool = new Pool(); frame.add(pool); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 关闭窗口时关闭程序 frame.setSize(800, 480); frame.setLocationRelativeTo(null);// 设置窗口居中,必须放在setSize之后 frame.setResizable(false);// 不允许用户改变窗口大小 frame.setVisible(true); pool.action(); } } class Pool extends JPanel { BufferedImage background = null; Fish fish = null;; Fish[] fishs = new Fish[9]; Net net = null; int score = 0; int fontsize = 20; Font font = new Font("楷体", Font.BOLD, fontsize); Pool() throws IOException { // background = ImageIO.read(new File("bg.jpg")); //读取工程目录图片 background = ImageIO.read(getClass().getResourceAsStream("/images/bg.jpg")); /** * 1)getClass().getResourceAsStream()方法读取的是src/images包下的图片 2)background * = ImageIO.read(new File("images/bg.jpg")); * 这个方法读取的是工程CatchFish/images文件夹下的图片 */ for (int i = 0; i < 9; i++) { fish = new Fish("fish0" + (i + 1)); fishs[i] = fish; fish.start(); } } public void paint(Graphics g) { // paint什么时候调用? // System.out.println("paint"); g.drawImage(background, 0, 0, null); for (int i = 0; i < fishs.length; i++) { Fish tempfish = fishs[i]; g.drawImage(tempfish.fishimage, tempfish.x, tempfish.y, null); } if (net.show) { g.drawImage(net.netimage, net.x - net.width / 2, net.y - net.height / 2, null); } g.setFont(font); g.setColor(Color.white); g.drawString("SCORE:", 10, 20); g.setColor(Color.red); g.drawString(" " + score, 10, 20); } public void action() throws Exception { net = new Net(); MouseAdapter m = new MouseAdapter() { public void mouseEntered(MouseEvent e) { net.show = true; } public void mouseExited(MouseEvent e) { net.show = false; } // 在鼠标移动时候执行 public void mouseMoved(MouseEvent e) { // MouseEvent 鼠标事件:鼠标事件发生时间地点人物 long time = e.getWhen(); int x = e.getX(); int y = e.getY(); // Object o=e.getSource();//发生事件的物体pool net.x = x; net.y = y; } public void mousePressed(MouseEvent e) { catchFish();// catch:抓鱼 在鼠标按下的时候,进行抓鱼操作 } }; // 在当前方法中代表当前的 这个(this)pool对象 this.addMouseListener(m); // 处理这个pool对象鼠标动作 this.addMouseMotionListener(m); net.show = true;// 调试代码 while (true) { // System.out.println("repaint"); repaint(); try { Thread.sleep(80); } catch (Exception e) { e.printStackTrace(); } } } protected void catchFish() { // 鱼在不在网的范围内?在的话就让鱼消失 for (int i = 0; i < fishs.length; i++) { fish = fishs[i]; if (fish.contains(net.x, net.y)) {// 判断在不在网的范围 fish.getOut(); score += fish.width / 10; } } } } class Fish extends Thread { int x, y, index = 0, width, height, step; BufferedImage fishimage; BufferedImage[] fishimages = new BufferedImage[9]; Random r; Fish(String fishname) throws IOException { // System.out.println("Fish()"); for (int i = 0; i < 9; i++) { // BufferedImage tempfishimage = ImageIO.read(new File(fishname + // "_0" // + (i + 1) + ".png")); BufferedImage tempfishimage = ImageIO.read(getClass() .getResourceAsStream( "/images/" + fishname + "_0" + (i + 1) + ".png")); fishimages[i] = tempfishimage; } fishimage = fishimages[index]; r = new Random();// 不写数字表示的是int范围内的一个数字 width = fishimage.getWidth(); height = fishimage.getHeight(); x = 790; y = r.nextInt(470 - height); step = r.nextInt(4) + 1; } public void run() { while (true) { try { Thread.sleep(50); index++; fishimage = fishimages[index % fishimages.length]; // 现在要动,所以要改变图片?300 x = x - step; if (x <= 0 || y <= 0 || y >= 480) getOut(); } catch (Exception e) { } } } // 检查(netx,nety)的坐标是否在鱼的范围之内 public boolean contains(int netx, int nety) { int dx = netx - x; int dy = nety - y; return dx >= 0 && dx <= width && dy >= 0 && dy <= height; } void getOut() { Random r = new Random(); x = 790; y = r.nextInt(470 - height); step = r.nextInt(4) + 1; } } class Net { // 网的位置随着鼠标指针的移动而移动 BufferedImage netimage = null; int x = 0, y = 0, width, height; boolean show;// 是否显示当前网对象 Net() throws Exception { // netimage = ImageIO.read(new File("net09.png")); netimage = ImageIO.read(getClass().getResourceAsStream( "/images/net09.png")); show = false; width = netimage.getWidth(); height = netimage.getHeight(); } }

java中JFrame中使控件居中问题

import javax.swing.*; import java.awt.*; public class Test { public static void main(String args[]){ JFrame frame=new JFrame("测试"); JButton button1=new JButton("位置"); frame.setLayout(null); frame.add(button1); frame.setBounds(100,100,300,300); button1.setBounds(120,136,60,28); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }

JFrame窗体中怎么把表格中的数据显示在表格的中间位置

JFrame窗体中怎么把表格中的数据显示在表格的中间位置 ![图片说明](https://img-ask.csdn.net/upload/201609/17/1474113811_118261.png)

java 图形界面按钮事件监听问题

b.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0){ if(arg0.getSource()==b){ f3.setVisible(true); xxx//休眠代码,下面说到 f3.setVisible(false); } } }); 这是一个按钮监听(b是按钮,f是JFrame的对象),如果我在里面用Thread.sleep()方法休眠,会出现窗体,但是内容不会显示(休眠结束后窗体就执行最后的语句消失了),后来我把最后的f.setVisible(false);换成了System.out.print("a");发现内容是在休眠结束后才显示的。这是什么原因(如果不是在按钮监听里这几行代码不会出现问题)? 望各位不吝赐教,感谢。

JAVA如何在窗体中输出

package keylogger; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; //创建窗口 public class readFile extends JFrame{ JPanel JPanel1; JLabel reading; public readFile(){ this.setSize(300,200); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setTitle("Keylogger!"); this.setVisible(true); JPanel1 = new JPanel(); add(JPanel1); reading = new JLabel();//感觉应该在这里添加输入的内容,但是不知道怎么调用下面读取的内容 JPanel1.add(reading); } //读取TXT文件 public static void readFileMessage(String fileName) { File file = new File(fileName); BufferedReader reader = null; try { System.out.println("按顺序读取文件的内容如下:"); reader = new BufferedReader(new FileReader(file)); String string = null; int line = 1; // 按行读取内容,直到读入null则表示读取文件结束 while ((string = reader.readLine()) != null) { System.out.println("line " + line + ": " + string); line++; } reader.close(); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e1) { } } } } //输出结果 public static void main(String[] args) { String fileName = "D:/temp/test.txt"; System.out.println("输出文件的内容:"); readFile.readFileMessage(fileName); readFile r = new readFile(); } } 这是一个读取TXT文件的程序,我想把读取的内容显示在窗体中,但是不知道该如何编写, 希望各位大神能给我一些帮助,感激不尽!!!

关于Java中JFrame继承的问题

如图,想问一下,为何我这里this无法调用setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ![图片说明](https://img-ask.csdn.net/upload/201812/23/1545540693_594952.png)

JAVA的Jframe图标怎么修改

![图片说明](https://img-ask.csdn.net/upload/201903/29/1553842955_581633.jpg) 试了好多种办法图标这两个替换不掉,代码如下 ``` package demo; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import java.awt.Toolkit; public class test2 extends JFrame { private JPanel contentPane; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { test2 frame = new test2(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public test2() { setIconImage(Toolkit.getDefaultToolkit().getImage("C:\\Users\\yyj\\Desktop\\testPostOrder\\lib\\icon.jpg")); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 450, 300); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setLayout(new BorderLayout(0, 0)); setContentPane(contentPane); } } ```

Java中如何动态修改JFrame的内容?

JFrame中有一个文本框、一个按钮和其他组件,通过点击按钮改变文本框中的内容,但不能改变其他组建的内容? 如何做? ![中间正方形是按钮](https://img-ask.csdn.net/upload/201705/06/1494052376_739183.png)

Java中如何根据我点击的按钮呈现不同的JTable样式(一个JFrame中)?

我现在的需求是,通过点击上面不同的按钮,下方出现对应的表格。 ![界面](https://img-ask.csdn.net/upload/201704/28/1493348600_808384.png) 界面程序代码:首先初始化了一个表格 ``` // 图表窗口 public void tableInformation() { JPanel toolBar = new JPanel(); toolBar.add(this.loadFileBtn); toolBar.add(this.transferBtn); toolBar.add(this.selectBtn); toolBar.add(this.functionNumBtn); toolBar.add(this.scoreBtn); toolBar.add(this.noScoreBtn); this.add(toolBar, BorderLayout.NORTH); this.loadFileBtn.addActionListener(this); this.transferBtn.addActionListener(this); this.selectBtn.addActionListener(this); this.functionNumBtn.addActionListener(this); this.scoreBtn.addActionListener(this); this.noScoreBtn.addActionListener(this); this.tableModel = new DefaultTableModel(new UserList().userInfo, new UserList().titles); this.table = new JTable(this.tableModel); table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); table.setPreferredScrollableViewportSize(new Dimension(150, 0)); table.getTableHeader().setReorderingAllowed(false); table.enable(false); JScrollPane scr = new JScrollPane(this.table); this.add(scr, BorderLayout.CENTER); this.remove(scr); // while (this.tableModel.getRowCount() > 0) { this.tableModel.removeRow(this.tableModel.getRowCount() - 1); } } ``` 现在我想做的是:当点击“统计操作数”按钮时,会出现另一个表格样式 按钮代码: ``` else if (e.getSource() == this.functionNumBtn) { //这里如何写? } ``` 补充数据源代码: ``` class UserList extends AbstractTableModel { public String[] titles = { "username", "udate", "utime", "tcode" }; public Object[][] userInfo = {}; // public int getRowCount() { return 0; } public int getColumnCount() { return 0; } // @Override public Object getValueAt(int arg0, int arg1) { return null; } } ``` 请教如何做?(代码中的空格部分)

Java中窗口关闭事件。

程序代码如下: package com.packageTemp; import java.awt.event.*; import javax.swing.*; import java.awt.*; public class MouseAdapterTest { JFrame f=null; JButton btn=null; public static void main(String[] args) { new MouseAdapterTest(); } //构造函数 public MouseAdapterTest() { f=new JFrame("Test"); btn=new JButton("按钮1"); //添加监听事件 btn.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { System.out.println("action ok"); } }); btn.addMouseListener(new MouseAdapter(){ int count=1; public void mouseEntered(MouseEvent e){ System.out.println("鼠标进入了按钮区域"+count++); } public void mouseExited(MouseEvent e) { System.out.println("鼠标离开了按钮区域"+count++); } }); f.add(btn); f.setBounds(100, 200, 500, 400); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 此行是重点 f.setVisible(true); } } 如代码所示:如果我写上f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ,则点击右上角的X时,可以关闭窗口,并且程序停止运行。 但是我好奇的是,为什么我没有写窗体监听事件,即WindowListener,为什么点击X,图形化界面依旧可以X掉。 求大神指点

java中按钮是点击事件和Enter事件如何一起用?

比如我有一个按钮nextButton,我给他nextButton.addActionListener(new MyButtonListener());于是我需要写一个内部类MyButtonListener implements ActionListener,在这个类中的actionPerformed方法中写点击按钮后的操作! 但是现在我还想让按键盘上的回车来代替点击操作。 于是我又给按钮加了一个事件绑定nextButton.addKeylistener(new MyEnterListener);于是我又需要写一个内部类MyEnterListner implements KeyListener,在这个类中的keyPressed方法中又写一遍点击上按钮之后应该的操作~~~ 这样就使我的程序很墨迹~谢了两段重复的代码,请问各位前辈,如果想让按钮实现既可以点击触发又可以按Enter触发应该怎么办?我觉我这种方法很笨,一定不是最好的办法!在此请教各位前辈,谢谢啦!!!

java界面布局问题(在窗体中添加组件的方式)

JFrame q =new JFrame(); Container a=q.getContentPane(); setLayout(new BorderLayout()); final JProgressBar progressBar = new JProgressBar(); // 创建进度条 // 将进度条放置在窗体合适位置 a.add(progressBar, BorderLayout.NORTH); 与 super(); final JProgressBar progressBar = new JProgressBar(); // 创建进度条 // 将进度条放置在窗体合适位置 getContentPane().add(progressBar, BorderLayout.NORTH); 有什么区别吗?

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

150讲轻松搞定Python网络爬虫

150讲轻松搞定Python网络爬虫

实用主义学Python(小白也容易上手的Python实用案例)

实用主义学Python(小白也容易上手的Python实用案例)

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

立方体线框模型透视投影 (计算机图形学实验)

计算机图形学实验 立方体线框模型透视投影 的可执行文件,亲测可运行,若需报告可以联系我,期待和各位交流

2019 AI开发者大会

2019 AI开发者大会

组成原理课程设计(实现机器数的真值还原等功能)

实现机器数的真值还原(定点小数)、定点小数的单符号位补码加减运算、定点小数的补码乘法运算和浮点数的加减运算。

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

MFC一站式终极全套课程包

该套餐共包含从C小白到C++到MFC的全部课程,整套学下来绝对成为一名C++大牛!!!

软件测试2小时入门

软件测试2小时入门

三个项目玩转深度学习(附1G源码)

三个项目玩转深度学习(附1G源码)

计算机图形学-球的光照模型课程设计

计算机图形学-球的光照模型,有代码完美运行,有课程设计书

Linux常用命令大全(非常全!!!)

Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考: 系统信息 arch 显示机器的处理器架构 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 d...

因为看了这些书,我大二就拿了华为Offer

四年了,四年,你知道大学这四年我怎么过的么?

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

fakeLocation13.5.1.zip

fakeLocation13.5.1 虚拟定位 ios13.5.1的最新驱动下载,iPhone/iPad免越狱虚拟定位工具Location-cleaned驱动已更新

UnityLicence

UnityLicence

Python可以这样学(第一季:Python内功修炼)

Python可以这样学(第一季:Python内功修炼)

Python+OpenCV计算机视觉

Python+OpenCV计算机视觉

土豆浏览器

土豆浏览器可以用来看各种搞笑、电影、电视剧视频

【数据结构与算法综合实验】欢乐连连看(C++ & MFC)案例

这是武汉理工大学计算机学院数据结构与算法综合实验课程的第三次项目:欢乐连连看(C++ & MFC)迭代开发代码。运行环境:VS2017。已经实现功能:开始游戏、消子、判断胜负、提示、重排、计时、帮助。

php+mysql学生成绩管理系统

学生成绩管理系统,分三个模块:学生,教师和管理员。 管理员模块:负责学生、老师信息的增删改;发布课程信息的增删改,以便让学生选课;审核老师提交的学生成绩并且打印成绩存档;按照课号查询每个课号的学生成绩

多功能数字钟.zip

利用数字电子计数知识设计并制作的数字电子钟(含multisim仿真),该数字钟具有显示星期、24小时制时间、闹铃、整点报时、时间校准功能

推荐24个国外黄色网站欣赏

在中国清朝,明黄色的衣服只有皇子才有资格穿,慢慢的黄色在中国就成了高贵的颜色。在人们的色彩印象中,黄色也表现为暂停。所以当你的网页设计采用黄色的时候,会让人们在你的网页前停留。 黄色,就像橙色和红色,黄色也是一个暖色。它有大自然、阳光、春天的涵义,而且通常被认为是一个快乐和有希望的色彩。黄色是所有色相中最能发光的颜色,给人轻快,透明,辉煌,充满希望的色彩印象。 黄色是一个高可见的色...

u-boot-2015.07.tar.bz2

uboot-2015-07最新代码,喜欢的朋友请拿去

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

学生成绩管理系统(PHP + MYSQL)

做的是数据库课程设计,使用的php + MySQL,本来是黄金搭配也就没啥说的,推荐使用wamp服务器,里面有详细的使用说明,带有界面的啊!呵呵 不行的话,可以给我留言!

Windows版YOLOv4目标检测实战:训练自己的数据集

Windows版YOLOv4目标检测实战:训练自己的数据集

C++语言基础视频教程

C++语言基础视频教程

玩转Python-Python3基础入门

玩转Python-Python3基础入门

相关热词 c# 局部 截图 页面 c#实现简单的文件管理器 c# where c# 取文件夹路径 c# 对比 当天 c# fir 滤波器 c# 和站 队列 c# txt 去空格 c#移除其他类事件 c# 自动截屏
立即提问