编写一个 JFrame 窗口,要求如下:
1.窗口包含一个菜单栏和一个 JLabel 标签。
2. 菜单栏中有两个菜单,第一个菜单有两个菜单项,它们之间用分隔符分开,第二个菜单有一个菜单项。
3.JLabel 标签放置在窗口的中间(即 BorderLayout.CENTER),当点击菜单项的时候,菜单项中的文本显示的 JLabel 标签中。
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Test extends JFrame {
public Test() {
JMenuBar menubar = new JMenuBar();
this.setJMenuBar(menubar);
JMenu menu = new JMenu("菜单1");
JMenu menu1 = new JMenu("菜单2");
menubar.add(menu);
menubar.add(menu1);
JMenuItem item1 = new JMenuItem("选项一");
JMenuItem item2 = new JMenuItem("选项二");
JMenuItem item3 = new JMenuItem("选项三");
menu.add(item1);
menu.addSeparator();
menu.add(item2);
menu1.add(item3);
final JLabel label = new JLabel();
item1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
label.setText("item1");
}
});
item2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
label.setText("item2");
}
});
item3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
label.setText("item3");
}
});
this.add(label,BorderLayout.CENTER);
this.setDefaultCloseOperation(Frame.CROSSHAIR_CURSOR);
this.setSize(600,600);
this.setVisible(true);
}
public static void main(String[] aa) {
new Test();
}
}
版权声明:本文为csp_6666原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。