Swing 工具栏
- 工具栏可以提供快速执行常用命令的按钮,可以将它随意拖曳到窗体的四周任何位置,甚至脱离窗体,在这种情况下,当关闭工具栏时它会自动恢复到脱离窗体之前的默认位置;
- 如果希望工具栏可以随意拖动,窗体一定要采用默认的边界布局方式,并且不能在边界布局的四周添加任何组件。工具栏默认都是可以随意移动的,如果不希望它能随意拖动,则可以通过调用方法 setFloatable(boolean b) 来设定,将参数设定为 true 表示允许随意拖动,而设定为 false 则表示不允许随意拖动;
- 创建工具栏需要使用 JToolBar 类,可以通过调用其无参构造方法 JToolBar() 来创建实例,当工具栏脱离了窗体时,工具栏窗体没有标题。如果希望工具栏有标题,则可以调用有参构造方法 JToolBar(String name)来创建具有指定标题的工具栏,javax.swing.JToolBar,详见:Class JToolBar;
- 可以使用方法 add(Component cp)将组件添加到工具栏的末尾,同时还可以利用 addSeparator() 方法在组件之间添加默认大小的分隔符, 也可以使用 addSeparator(Dimension size)方法添加指定大小的分隔符;
1. 应用:创建工具栏
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Test extends JFrame {
public static void main(String args[]) {
Test frame = new Test();
frame.setVisible(true);
}
public Test() {
super();
setTitle("Regino");
setBounds(100, 100, 500, 375);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JToolBar toolBar = new JToolBar("工具栏");
toolBar.setFloatable(false);
getContentPane().add(toolBar, BorderLayout.NORTH);
final JButton newButton = new JButton("新建");
newButton.addActionListener(new ButtonListener());
toolBar.add(newButton);
toolBar.addSeparator();
final JButton saveButton = new JButton("保存");
saveButton.addActionListener(new ButtonListener());
toolBar.add(saveButton);
toolBar.addSeparator(new Dimension(20, 0));
final JButton exitButton = new JButton("退出");
exitButton.addActionListener(new ButtonListener());
toolBar.add(exitButton);
}
private class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
JButton button = (JButton) e.getSource();
System.out.println("您单击的是:" + button.getText());
}
}
}
- 效果图: