下面是我的一个程序,打开后一个窗体和菜单,如果将菜单放入单独的一个类中,如MenuBar,将如何写,在主程序中如何调用。packagecom.ccs;importjava.awt.*;importjava.awt.event.Mouse...
下面是我的一个程序,打开后一个窗体和菜单,如果将菜单放入单独的一个类中,如MenuBar,将如何写,在主程序中如何调用。
package com.ccs;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
import com.ccs.MainFrame;
public class MainFrame extends JFrame {
private static final long serialVersionUID = 1L;
/**
* This is the default constructor
*/
public MainFrame() {
super();
initialize(); //初始化窗体
setVisible(true);//直接设置 主窗体可见。不用登陆窗体
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
JMenuBar menubar;
MainFrame myMenu = null;
JMenu file;
JMenu edit, help, subedit;
JMenuItem f1, f2, f3, f4, e2, e3, e4, se1;
JMenuItem e1;
PopupMenu popm = new PopupMenu("编辑");
menubar = new JMenuBar();
setJMenuBar(menubar);
file = new JMenu("文件");
edit = new JMenu("编辑");
help = new JMenu("帮助");
subedit = new JMenu("二级菜单");
menubar.add(file);
menubar.add(edit);
menubar.add(help);
e1 = new JMenuItem("copy");
//e1.setShortcut(new JMenuShortcut(KeyEvent.VK_C));
e2 = new JMenuItem("-");
e3 = new JMenuItem("cut");
se1 = new JMenuItem("s");
edit.add(e1);
edit.add(e2);
edit.add(e3);
subedit.add(se1);
edit.add(subedit);
//popm.add(e1);
add(popm);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
addMouseListener(new MouseAdapter() {
public void pmshow(int x, int y) {
popm.show(myMenu, x, y);
}
public void mousePressed(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3) {
pmshow(e.getX(), e.getY());
}
}
});
setSize(800, 600); // 设置窗体大小
//设置窗口居中
int w = (Toolkit.getDefaultToolkit().getScreenSize().width - WIDTH ) / 2;
int h = (Toolkit.getDefaultToolkit().getScreenSize().height - HEIGHT) / 2;
setLocation(w-400, h-300);
setDefaultCloseOperation(MainFrame.EXIT_ON_CLOSE);
this.setLayout(new BorderLayout());
//this.setSize(800, 400);
this.setTitle("管理系统");
this.setIconImage(Toolkit.getDefaultToolkit().createImage("../cs/src/res/yb1.gif"));
//放置窗口图标,注意相对路径的写法。
}
public static void main(String[] args) {
//myMenu =new MyMenu("");
new MainFrame();
//new MyMenu().init();
}
}
将下面内容放入一个MenuBar类中,主程序(类)如何调用。
JMenuBar menubar;
MainFrame myMenu = null;
JMenu file;
JMenu edit, help, subedit;
JMenuItem f1, f2, f3, f4, e2, e3, e4, se1;
JMenuItem e1;
PopupMenu popm = new PopupMenu("编辑");
。。。。。。。。
}
public void mousePressed(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3) {
pmshow(e.getX(), e.getY());
}
}
});
展开