您好我正在为我正在编写的加密程序编写一种菜单。我完成了它的核心,现在我想尝试为它创建一个GUI。这是第一个菜单的代码:
package matrix_with_GUI;
import javax.swing.*;
import java.awt.event.* ;
import java.awt.* ;
public class Main_Menu extends JFrame implements ActionListener{
private JButton action1 = new JButton ("");
private JButton action2 = new JButton ("");
private JPanel pane = new JPanel();
private JLabel lbl;
public static void main(String[] args) {
Main_Menu main = new Main_Menu();
}
public Main_Menu(){
super();
JPanel pane=new JPanel();
setTitle ("Start Menu") ;
JFrame frame = new JFrame("");
setVisible(true);
setSize (380, 260) ;
setLocation (450, 200) ;
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) ;
action1 = new JButton("Start");
action2 = new JButton("Exit");
lbl = new JLabel ("Welcome to the Matrix Encoder/Decoder!!!");
setLayout(new FlowLayout());
add (lbl) ;
add(action1, BorderLayout.CENTER);
action1.addActionListener (this);
add(action2, BorderLayout.CENTER);
action2.addActionListener (this);
}
@Override
public void actionPerformed(ActionEvent event) {
// TODO Auto-generated method stub
OptionsMenu x = new OptionsMenu();
if (event.getSource() == action1)
{
System.exit(0);
x.OptionsMenu();
}
else if(event.getSource() == action2){
System.exit(0);
}
}
} 单击“开始”按钮时,新菜单会很好,但第一个菜单保持打开状态。有没有办法关闭第一个菜单并点击第一个按钮打开第二个菜单?我是GUI的新手,所以最简单的解决方案非常有用。另一方面,有一种简单的方法可以将“开始”按钮移动到下一行吗?感谢
答案 0 :(得分:2)
您有两个选择:您可以使用Window Listener,也可以使用dispose()方法。要做dispose()只需输入
* This is better to be used with subframes and 2nd level windows.*
this.dispose();
或检查此链接以使用窗口侦听器
答案 1 :(得分:1)