java 添加菜 单项
发布网友
发布时间:2023-09-08 02:21
我来回答
共2个回答
热心网友
时间:2023-10-03 19:34
以下是一个完整的程序,
menuBar中有文件和帮助两个菜单,分别还有子菜单,
并将menuBar添加到JFrame中。
希望对你有帮助。
import java.awt.BorderLayout;
import javax.swing.*;
public class Main extends JFrame
{
private JMenu help; //菜单选项帮助
private JMenu file; //菜单选项文件
private JMenuBar menuBar; //菜单bar
private JMenuItem rules; //子菜单规则
private JMenuItem begin; //子菜单开始
private JMenuItem over;//子菜单结束
public Main(){
//以下为初始化
help = new JMenu("帮助");
file = new JMenu("文件");
menuBar = new JMenuBar();
rules = new JMenuItem("规则");
begin = new JMenuItem("开始");
over = new JMenuItem("退出");
//为file、help菜单添加子菜单
help.add(rules);
file.add(begin);
file.add(over);
menuBar.add(file); //menuBar中添加Menu选项
menuBar.add(help);
setJMenuBar(menuBar); //设置menuBar为当前menuBar
add(menuBar,BorderLayout.NORTH); //将menuBar添加到窗体中,前提是这个类继承了JFrame
setVisible(true);
setSize(200,200);
}
public static void main(String args[])
{
new Main();
}
}
热心网友
时间:2023-10-03 19:34
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.tree.*;
import javax.swing.border.*;
//import javax.swing.table.*;
//import org.eclipse.swt.layout.GridLayout;
//测试Swing的所有组件及其相应事件
public class SwingTest extends JFrame {
//主模块初始化所有子模块,并设置主框架的相关属性
public SwingTest(){
//初始化所有模块
MenuTest menuTest=new MenuTest();
this.setJMenuBar(menuTest);
//利用无名内隐类,增加窗口事件
setSize(700,500);
setTitle("Swing组件大全简体版");
setLocation(200,150);
show();
setVisible(true);
}
public static void main(String args[]){
new SwingTest();
}
}
class MenuTest extends JMenuBar{
/**
*
*/
private static final long serialVersionUID = 1L;
/**
*
*/
private JDialog aboutDialog;
//菜单初始化操作
public MenuTest(){
JMenu fileMenu=new JMenu("文件");
JMenuItem exitMenuItem=new JMenuItem("退出",KeyEvent.VK_E);//快捷键位E
JMenuItem aboutMenuItem=new JMenuItem("关于...",KeyEvent.VK_A);
fileMenu.add(exitMenuItem);
fileMenu.add(aboutMenuItem);
this.add(fileMenu);
//aboutDialog=new JDialog();
//initAboutDialog();
//菜单事件
exitMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//dispose();
System.exit(0);
}
});
aboutMenuItem.addActionListener(new ActionListener(){
@SuppressWarnings("deprecation")
public void actionPerformed(ActionEvent e){
//"关于"对话框的处理
aboutDialog.show(true);
}
});
}
//返回关于对话框
public JDialog getAboutDialog(){
return aboutDialog;
}
//设置关于对话框的外观及响应事件,操作象JFrame一样都是在框架上进行的
public void initAboutDialog(){
aboutDialog.setTitle("关于");
Container con=aboutDialog.getContentPane();
//Swing中使用html语句
Icon icon=new ImageIcon("");
JLabel aboutLabel=new JLabel("<html><b><font size=5>"+"<center>Swing!"+"<br>",icon,JLabel.CENTER);
con.add(aboutLabel,BorderLayout.CENTER);
aboutDialog.setSize(450,225);
aboutDialog.setLocation(300,300);
aboutDialog.addWindowListener(new WindowAdapter(){
@SuppressWarnings("unused")
public void WindowClosing(WindowEvent e){
//dispose();
//aboutDialog.setVisible(true);
}
});
}
}