Java JMenuBar设置布局方式

我要在JMenuBar上添加三个JLabel,并使JLabel呈纵向排列(下图)!请问如何设置布局?我已经知道了,用newBoxLayout(toolpanel,BoxL... 我要在JMenuBar上添加三个JLabel,并使JLabel呈纵向排列(下图)!请问如何设置布局?
我已经知道了,用new BoxLayout(toolpanel, BoxLayout.Y_AXIS)就行了
展开
 我来答
男人成就阳神
2010-03-24 · 超过27用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:78.9万
展开全部
import javax.swing.*;
import java.awt.event.*;
public class JMenuDemo1 extends JMenuBar {
public JMenuDemo1(){
add(createJMenuOne());

setVisible(true);

}

public static void main(String[] args) {
JFrame frame=new JFrame("JMenuDemo1");
frame.setSize(300,200);
frame.setJMenuBar(new JMenuDemo1());
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

private JMenu createJMenuOne(){
JMenu menu=new JMenu("新建");
menu.setMnemonic(KeyEvent.VK_F);
JMenuItem item=new JMenuItem("画笔");

menu.add(item);
item=new JMenuItem("橡皮");

menu.add(item);
item=new JMenuItem("划线");

menu.add(item);

return menu;
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
plS890429
推荐于2018-02-28 · TA获得超过295个赞
知道小有建树答主
回答量:252
采纳率:0%
帮助的人:216万
展开全部
你可以用toolbar来做
toolbar.setOrientation(0);

设置方向不是 HORIZONTAL 就是 VERTICAL
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
杜爷1号
推荐于2016-09-23 · 知道合伙人软件行家
杜爷1号
知道合伙人软件行家
采纳数:4973 获赞数:9186
毕业于福建农林大学,本科学士学位。从事IT行业3年,曾参与过多个大型项目的需求调研、软件研发。

向TA提问 私信TA
展开全部
  JMenuBar是用于制作菜单栏时用到的一个组件。将 JMenu 对象添加到菜单栏以构造菜单。当用户选择 JMenu 对象时,就会显示其关联的 JPopupMenu,允许用户选择其上的某一个 JMenuItem。
  菜单是非常重要的GUI组件,其界面提供的信息简明清晰,在用户界面中经常使用。Java
的菜单组件是由多个类组成的,主要有:JMenuBar(菜单栏)、JMenu(菜单)、JMenuItem
(菜单项)和JPopupMenu(弹出菜单)。
每个菜单组件都包含一个菜单栏,每个菜单栏又包含若干个菜单,每个菜单包含若干个
菜单项。菜单项的作用与按钮类似,当用户单击时产生一个命令动作。
Java 中的菜单分为两类:一类是下拉式菜单,通常所说的菜单就是这一类;另一类就是
弹出式菜单。下面我们国外服务器租用商就来介绍菜单的创建和使用方法。
1.创建下拉式菜单
(1)创建菜单栏JMenuBar
菜单栏组件是一个水平菜单。它只能加入到一个框架中,并成为所有菜单树的根。在一
个时刻,一个框架可以显示一个菜单栏。然而,也可以根据程序的状态修改菜单栏,这样,
在不同的时刻就可以显示不同的菜单。例如:
JFrame f=new JFrame("菜单实例"); //创建框架
JMenuBar JMB=new JMenuBar(); //创建菜单栏JMB
f.setJMenuBar(JMB); //设置JMB 为框架f的菜单栏
菜单栏不支持监听者。作为普通菜单行为的一部分,在菜单栏的区域中发生的事件和普
通组件一样会被自动处理。
(2)创建菜单,添加到菜单栏中
菜单提供了一个基本的下拉式菜单。美国服务器租用商提醒您它可以加入到一个菜单栏或者另一个菜单中,例如
(接上例):
JMenu m1=new JMenu("File"); //创建File 菜单m1
JMenu m2=new JMenu("Edit");
JMenu m3=new JMenu("Tool");
JMenu m4=new JMenu("Help");
JMB.add(m1); //把m1 添加到菜单条JMB 中
JMB.add(m2);
JMB.add(m3);
JMB.add(m4);
(3)创建菜单项,加入到菜单中
菜单项是菜单树的“叶”节点。它们通常被加入到菜单中,以构成一个完整的菜单,例
如(接上例):
JMenuItem mi1=new JMenuItem("New"); //创建new菜单项目
mi1.setActionCommand("New"); //设置菜单项mil 的命令字符串为New
JMenuItem mi2=new JMenuItem("Load");
JMenuItem mi3=new JMenuItem("Save");
JMenuItem mi4=new JMenuItem("Quit");
m1.add(mi1); //把菜单项mi1 加入到菜单m1 中
m1.add(mi2);
m1.add(mi3);
m1.add(mi4);
(4)将建成的菜单栏添加到框架等容器中
例如,前面的例子中的f.setJMenuBar(JMB);,即设置JFrame 对象f的菜单栏为JMB。
(5)香港服务器租用商提醒您将菜单项注册给动作事件的监听者ActionListener
例如:MenuListener myListener=new MenuListener( ); //创建监听对象
mi1.addActionListener(myListener); //为菜单项添加监听对象
其中MenuListener 为实现ActionListener 接口的类,在该类中重载actionPerformed 方法,
例如:
class MenuListener implements ActionListener
{ public void actionPerformed(ActionEvent e)
{ if (e.getActionCommand().equals("Quit"))
System.exit(0); //如果选择了Quit 菜单项,退出程序
}
}
(6)使用分隔线
如果希望在菜单项之间添加一条横向分隔线,以便将菜单项分成几组,则需要调用菜单
的方法addSeparator( )。例如:m1.addSeparator();。
(7)为菜单项定义访问键
除了可以单击鼠标选择菜单项外,还可以为每个菜单项定义一个键盘访问键,这样就可
以用键盘来选择菜单项了。访问键是一个字母,定义好了之后,按住Alt 键和该字母就可以
选择菜单中对应的菜单项。例如,mi1.setMnemonic(’F’);给mi1 菜单项设置了访问键F,当菜
单项在界面上可见时,可以在键盘上按下Alt 键不放,同时按F键运行对应的命令。
如果希望菜单还有子菜单,国外服务器租用商提醒您只需先建立带菜单项的菜单,再把该菜单像菜单项一样加入
到另一个菜单即可。
在Java 菜单中定义了方钮确认框选项JcheckBoxMenuItem能够选中和不选中,圆形确认
框选项JradioButtonMenuItem能选中和不选中(一个选中,其他变为不选中,具有排他性),
它们的构造方法和JMenuItem类似,只是多了一个是否选中的参数。对应地,菜单项引发的
事件是ItemEvent,这样需要利用addItemListener方法把菜单项注册给ItemListener类的对象,
并实现ItemListener 的itemStateChanged(ItemEvent e)方法。我们可以通过ItemEvent 对象的
getStateChange( )方法获取菜单项的状态(2 表示从选中到未选中,1 表示从未选中到选中)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式