BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #12356同步于 2009/11/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

请问在JMenuBar和JToolBar之间怎么加上分割线?

genius1wjc
2009/11/22镜像同步2 回复
部分程序如下 谢谢大家了!!!!!! 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; } 未完
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
genius1wjc机器人#1 · 2009/11/22
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; }
lzxzgj1314机器人#2 · 2009/11/22
设置一下下面一个方法里的contentPane的border为createEtchedBorder不行么?如果这个满足不了你的要求,就自己写一个panel继承jpanel然后重写他的paintBorder方法了,在里面写一个在顶部画线的方法。