工具栏对一些命令进行快速访问,JToolBar工具栏可以放按钮等其它组件,默认使用BoxLayout管理器。可以添加按钮,也可以添加组合框等组件,代码如下:
jtb = new JToolBar();
JButton jbtn1 = new JButton("复制",new ImageIcon("img/copy.gif"));
jbtn1.setHorizontalAlignment(SwingConstants.CENTER);
jbtn1.setVerticalTextPosition(SwingConstants.BOTTOM);
jbtn1.setHorizontalTextPosition(SwingConstants.CENTER);
jtb.add(jbtn1);
JButton jbtn2 = new JButton("剪贴");
jtb.add(jbtn2);
JButton jbtn3 = new JButton(new ImageIcon("img/cut.gif"));
jtb.add(jbtn3);
JButton jbtn4 = new JButton("粘贴",new ImageIcon("img/paste.gif"));
jtb.add(jbtn4);
jtb.setComponentPopupMenu(getPopupMenu());
jtb.add(act_add);
JComboBox jcb = new JComboBox();
jcb.addItem("缩列图");
jcb.addItem("幻灯片");
jcb.setMaximumSize(jcb.getPreferredSize());
jtb.add(jcb);
this.add(jtb,BorderLayout.NORTH);
运行显示工具栏如下:
工具栏也可以通过Action方式进行建立。利用Action接口可以集中处理行为,需要实现方法actionPerformed。Action对象可以设置热键和快捷键,利用方法putValue进行实现。举例如下:
Action cut = new AbstractAction("show")
{
@Override
public void actionPerformed(ActionEvent e)
{
// TODO Auto-generated method stub
JOptionPane.showMessageDialog(null, "action");
}
};
cut.putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_E));
KeyStroke ks = KeyStroke.getKeyStroke(KeyEvent.VK_E, ActionEvent.CTRL_MASK);
cut.putValue(Action.ACCELERATOR_KEY, ks);
JMenu m = new JMenu("文件");
m.add(cut);
JMenuBar jmb = new JMenuBar();
jmb.add(m);
this.setJMenuBar(jmb);
jtb.add(cut);
运行如下:
按下alt+e键或ctrl+e键,显示如下:
由于水平有限,如果有错误,请大家多多指导,提高水平,共同学习。