怎么把JMenuBar加到JPanel上?

mengweilil 2009-03-25 12:39:49
rt

加到JFrame上没问题。
...全文
305 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuieryin 2009-03-25
  • 打赏
  • 举报
回复
没事, 呵呵
mengweilil 2009-03-25
  • 打赏
  • 举报
回复
哦,搞定,多谢多谢。马上结贴。

shuieryin 2009-03-25
  • 打赏
  • 举报
回复
我没加menuItem,改了一下加了的给你



import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.KeyEvent;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;


public class Driver {

public static void main(String[] args) {
JMenuBar menua = new JMenuBar();
JMenu fileMenua = new JMenu("File");
JMenuItem exita = new JMenuItem("Exit", KeyEvent.VK_X);
fileMenua.add(exita);
menua.add(fileMenua);

JPanel p = new JPanel();
p.setPreferredSize(new Dimension(300, 200));

JPanel n = new JPanel();
n.setLayout(new BorderLayout());
n.setPreferredSize(new Dimension(300, 200));

JMenuBar menub = new JMenuBar();
JMenu fileMenub = new JMenu("File");
JMenuItem exitb = new JMenuItem("Exit", KeyEvent.VK_X);
fileMenub.add(exitb);
menub.add(fileMenub);

n.add(menub, BorderLayout.NORTH);

JFrame f = new JFrame("MenuBarTest");
f.add(menua, BorderLayout.NORTH);
f.add(p);
f.add(n, BorderLayout.SOUTH);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
}

}


mengweilil 2009-03-25
  • 打赏
  • 举报
回复
比如JFrame上增加JTabbedPanel,然后在这些Panel上加上菜单,虽然少见,不过也有用。

不过运行的结果还是怪怪的啊,不知道原因。





shuieryin 2009-03-25
  • 打赏
  • 举报
回复
为什么要这么做? 一般很少这么用吧



import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JPanel;


public class Driver {

public static void main(String[] args) {
JMenuBar menua = new JMenuBar();
JMenu fileMenua = new JMenu("File");
menua.add(fileMenua);

JPanel p = new JPanel();
p.setPreferredSize(new Dimension(300, 200));

JPanel n = new JPanel();
n.setLayout(new BorderLayout());
n.setPreferredSize(new Dimension(300, 200));

JMenuBar menub = new JMenuBar();
JMenu fileMenub = new JMenu("File");
menub.add(fileMenub);

n.add(menub, BorderLayout.NORTH);

JFrame f = new JFrame("MenuBarTest");
f.add(menua, BorderLayout.NORTH);
f.add(p);
f.add(n, BorderLayout.SOUTH);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
}

}


mengweilil 2009-03-25
  • 打赏
  • 举报
回复
不是

JPanel jp

JMenubar

这个用jp.add

然后显示有问题。

horizonlyhw 2009-03-25
  • 打赏
  • 举报
回复

Container cp=getContentPane();
cp.add();


?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧