我使用GridLayout(5,3)
制作了一个简单的GUI,它是动作执行的,它也实现了动作侦听器。一些计算和算法根据用户提供的输入或按钮工作。到目前为止,一切正常。
在我的代码中的某个时刻,用户会获得一个弹出按摩,他使用这种常用方法JOptionPane.showMessageDialog(....)
正确登录系统。我想要的是,在他按下OK按钮之后,创建一个弹出窗口的其他表单,看起来类似于我用GridLayout(5,3)
制作的那个,这样我的用户就可以存储关于他的其他信息。
我真的无法让它工作,我不知道如何开始这个。
非常欢迎任何想法!欢呼并提前感谢:)
如果添加:
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container pane = getContentPane();
GridLayout grid=new GridLayout(10,1);
pane.setLayout(grid);
它只会为我的gridlayout添加更多行。以上所有按钮和标签仍然存在。如何摆脱以前的标签和按钮?
答案 0 :(得分:1)
你说:
如果添加:
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container pane = getContentPane();
GridLayout grid=new GridLayout(10,1);
pane.setLayout(grid);
它只会为我的gridlayout添加更多行。以上所有按钮和标签仍然存在。如何摆脱以前的标签和按钮?
如果要在JFrame上交换“视图”,则至少有三个选项。
setText("")
。如果你想保留相同的JButtons和标签但是改变他们的文本,那么同样你需要通过所有这些来调用setText("something else")
。removeAll()
,然后调用add(nextJPanel)
,然后revalidate()
,然后调用repaint()
。