我正在使用Java做项目,因为我需要JFrame在点击特定按钮后重新加载整个JFrame.这该怎么做?
我有一个扩展JFrame的类,它有一个BorderLayout.它有两个类型为JPanel的私有实例变量.它们代表按钮面板,称为flipButton和confidenceButtons.单击按钮时,按钮面板将被另一个按钮面板替换.也就是说,如果单击flipButton中的按钮,则flipButton将替换为confidenceButton.我试着这样做:
private class FlipListener implements ActionListener{
public void actionPerformed(ActionEvent e){
remove(flipButton);
add(confidenceButtons,BorderLayout.SOUTH);
validate();
...
}
}
private class ColorListener implements ActionListener{
...
public void actionPerformed(ActionEvent e){
...
remove(confidenceButtons);
add(flipButton,BorderLayout.SOUTH);
validate();
}
}
flipButton中的按钮具有FlipListeners,而ConfidentButton中的按钮具有ColorListeners.程序运行时,单击按钮将删除面板,但不会添加任何内容来替换它.我究竟做错了什么?
编辑
CardLayout原来是一个简单易行的解决方案.事实证明,上面的代码确实有效; 问题是我的代码的另一部分中的拼写错误.>.但是,我总是在使用这些方法时遇到了麻烦,我发现CardLayout简化了它.谢谢.
我知道你可以通过输入创建一个按钮
JButton x= new JButton("Something");
x.addActionListener(this);
Run Code Online (Sandbox Code Playgroud)
但是我如何创建一个actionlistener,以便按钮为用户创建一个文本字段以提供输入....以及如何从该文本框中读取文本?
我在java中编写一个gui,它有一些按钮,其中一个按钮是选项.我想拥有它,所以当你点击选项时它会将gui更改为我的选项gui而不是在另一个窗口中打开它.
我怎样才能做到这一点?