返回信息流部分程序如下 谢谢大家了!!!!!!
public JMenuBar createMenuBar() {
//创建菜单条
menuBar = new JMenuBar();
menuBar.setBorder(new EtchedBorder());
////第一个菜单
menu1 = new JMenu("A Menu");
menu1.setMnemonic(KeyEvent.VK_A);//设置打开A Menu的热键
menu1.getAccessibleContext().setAccessibleDescription("The only menu in this program that has menu items"); //??????
menuBar.add(menu1);
//a group of JMenuItems
menuItem1 = new JMenuItem("A text-only menu item", KeyEvent.VK_T);
//menuItem.setMnemonic(KeyEvent.VK_T); //used constructor instead
//以下语句设置加速键
//menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1, ActionEvent.ALT_MASK)); //??
//menuItem.getAccessibleContext().setAccessibleDescription("This doesn′t really do anything"); //??
menu1.add(menuItem1);
ImageIcon icon = createImageIcon("imagesmiddle.gif");
menuItem2 = new JMenuItem("Both text and icon", icon);
menuItem2.setMnemonic(KeyEvent.VK_B);
menu1.add(menuItem2);
menuItem3 = new JMenuItem(icon);
menuItem3.setMnemonic(KeyEvent.VK_D);
menu1.add(menuItem3);
//a group of radio button menu items 小黑点
menu1.addSeparator(); //一条分割线
ButtonGroup group = new ButtonGroup();
rbMenuItem1 = new JRadioButtonMenuItem("A radio button menu item");
rbMenuItem1.setSelected(true); //这句话何用?
rbMenuItem1.setMnemonic(KeyEvent.VK_R);
group.add(rbMenuItem1);
menu1.add(rbMenuItem1);
rbMenuItem2 = new JRadioButtonMenuItem("Another one");
rbMenuItem2.setMnemonic(KeyEvent.VK_O);
group.add(rbMenuItem2);
menu1.add(rbMenuItem2);
menu1.addSeparator();
//a group of check box menu items
cbMenuItem1 = new JCheckBoxMenuItem("A check box menu item");
cbMenuItem1.setMnemonic(KeyEvent.VK_C);
menu1.add(cbMenuItem1);
cbMenuItem2 = new JCheckBoxMenuItem("Another one");
cbMenuItem2.setMnemonic(KeyEvent.VK_H);
menu1.add(cbMenuItem2);
menu1.addSeparator();
//a submenu
submenu = new JMenu("A submenu");
submenu.setMnemonic(KeyEvent.VK_S);
menuItem4 = new JMenuItem("An item in the submenu");
menuItem4.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, ActionEvent.ALT_MASK));
submenu.add(menuItem4);
menuItem5 = new JMenuItem("Another item");
submenu.add(menuItem5);
menu1.add(submenu);
return menuBar;
} 未完
这是一条镜像帖。来源:北邮人论坛 / java / #12356同步于 2009/11/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
请问在JMenuBar和JToolBar之间怎么加上分割线?
genius1wjc
2009/11/22镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
public Container createContentPane() {
//Create the content-pane-to-be.
JPanel contentPane = new JPanel(new BorderLayout());
contentPane.setOpaque(false);//设置透明度 什么意思?
splitPane.setOneTouchExpandable(true);
splitPane.setDividerLocation(150);
//定义面板的最小尺寸
Dimension minimumSize = new Dimension(100, 50);
JPanel1.setMinimumSize(minimumSize);
JPanel2.setMinimumSize(minimumSize);
//定义初始尺寸
splitPane.setPreferredSize(new Dimension(200, 200));
//.....................................工具栏......................................................................................
button1= new JButton( "another1");
button2= new JButton( "another2");
button3= new JButton( "another3");
button4= new JButton( "another4");
button5= new JButton( "another5");
button6= new JButton( "another6");
button7= new JButton( "关闭");
newButton1 = new JButton(new ImageIcon("new.png")); //C:/icons/new.png
bar.add(newButton1);
newButton2 = new JButton("OPEN",new ImageIcon("open.png")); //****带有文字和图像的button
bar.add(newButton2);
newButton3 = new JButton(new ImageIcon("save.png"));
bar.add(newButton3);
newButton4 = new JButton(new ImageIcon("copy.png"));
bar.add(newButton4);
newButton5 = new JButton(new ImageIcon("paste.png"));
bar.add(newButton5);
newButton6 = new JButton(new ImageIcon("undo.png"));
bar.add(newButton6);
newButton1.addActionListener(this);
newButton2.addActionListener(this);
newButton3.addActionListener(this);
newButton4.addActionListener(this);
newButton5.addActionListener(this);
newButton6.addActionListener(this);
bar.addSeparator(); //****增加一个小空白
//bar.add(new JSeparator(SwingConstants.VERTICAL)); //****增加小竖线
bar.addSeparator(); //****增加一个小空白
bar.add(button1);
bar.add(button2);
bar.add(button3);
bar.add(button4);
bar.add(button5);
bar.add(button6);
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
button4.addActionListener(this);
button5.addActionListener(this);
button6.addActionListener(this);
button7.addActionListener(this);
JTextField textField = new JTextField("用于查找",6);//****增加一个小文本框 后面的参数不知何用
bar.add(textField);
bar.add(button7);
//bar.setRollover(true); //****不知何用
bar.setFloatable(true);
//bar.setPreferredSize(new Dimension(650, 30)); //****指定大小
contentPane.add(bar, BorderLayout.NORTH);
//contentPane.add(bar, BorderLayout.NORTH); //****区别未知
//.....................................END OF 工具栏..............................................................................
return contentPane;
}
设置一下下面一个方法里的contentPane的border为createEtchedBorder不行么?如果这个满足不了你的要求,就自己写一个panel继承jpanel然后重写他的paintBorder方法了,在里面写一个在顶部画线的方法。