Java JMenuBar-JMenu-JMenuItem
怎么样实现点击JMenuItem之后在JDesktopPane上添加JInternalFrame.JDesktopPane为主面板初始化的时候就已经实例了,之后我用Act...
怎么样实现点击JMenuItem之后在JDesktopPane上添加JInternalFrame.
JDesktopPane为主面板初始化的时候就已经实例了,之后我用ActionListener去监听肯定JMenuItem没有效果,是不是还有其他的方法?还是不应该去用ActionListener监听每个JMenuItem?
不用把代码打的多细,能说明白就可以了. 展开
JDesktopPane为主面板初始化的时候就已经实例了,之后我用ActionListener去监听肯定JMenuItem没有效果,是不是还有其他的方法?还是不应该去用ActionListener监听每个JMenuItem?
不用把代码打的多细,能说明白就可以了. 展开
1个回答
展开全部
class InternalFrame implements ActionListener {
JFrame frame = new JFrame("Frame");
JInternalFrame f = new JInternalFrame("Internal Frame", true, true, true, true);
JDesktopPane desk = new JDesktopPane();
InternalFrame() {
JMenuItem menuItem = new JMenuItem("New Frame");
menuItem.addActionListener(this);
JMenu menu = new JMenu("File");
menu.add(menuItem);
JMenuBar menubar = new JMenuBar();
menubar.add(menu);
frame.setJMenuBar(menubar);
frame.setContentPane(desk);
desk.add(f);
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(f.isClosed()) desk.add(f);
f.setSize(200, 200);
f.setLocation(100, 100);
f.setVisible(true);
}
public static void main(String[] args) {
new InternalFrame();
}
}
JFrame frame = new JFrame("Frame");
JInternalFrame f = new JInternalFrame("Internal Frame", true, true, true, true);
JDesktopPane desk = new JDesktopPane();
InternalFrame() {
JMenuItem menuItem = new JMenuItem("New Frame");
menuItem.addActionListener(this);
JMenu menu = new JMenu("File");
menu.add(menuItem);
JMenuBar menubar = new JMenuBar();
menubar.add(menu);
frame.setJMenuBar(menubar);
frame.setContentPane(desk);
desk.add(f);
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(f.isClosed()) desk.add(f);
f.setSize(200, 200);
f.setLocation(100, 100);
f.setVisible(true);
}
public static void main(String[] args) {
new InternalFrame();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询