Java JToolBar
精华
小牛编辑
133浏览
2023-03-14
1 Java JToolBar的介绍
JToolBar容器允许我们对其他组件进行分组,通常是在行或列中带有图标的按钮。JToolBar提供了一个组件,可用于显示常用的动作或控件。
2 Java JToolBar的内部类
内部类 | 描述 |
---|---|
protected class JToolBar.AccessibleJToolBar | 此类实现JToolBar类的可访问性支持。 |
static class JToolBar.Separator | 工具栏特定的分隔符。 |
3 Java JToolBar的构造方法
构造方法 | 描述 |
---|---|
JToolBar() | 创建一个新的工具栏;方向默认为水平。 |
JToolBar(int orientation) | 将创建具有指定方向的新工具栏。 |
JToolBar(String name) | 使用指定的名称创建一个新的工具栏。 |
JToolBar(String name, int orientation) | 它会创建一个具有指定名称和方向的新工具栏。 |
4 Java JToolBar的方法
方法 | 描述 |
---|---|
JButton add(Action a) | 添加了一个新的JButton来调度操作。 |
protected void addImpl(Component comp, Object constraints, int index) | 如果要添加JButton,则最初将其设置为禁用。 |
void addSeparator() | 将默认大小的分隔符附加到工具栏的末尾。 |
protected PropertyChangeListener createActionChangeListener(JButton b) | 返回正确配置的PropertyChangeListener,该属性将在对Action进行更改时更新控件;如果需要控件的默认属性更改侦听器,则返回null。 |
protected JButton createActionComponent(Action a) | 为添加到JToolBar的Actions创建JButton的工厂方法。 |
ToolBarUI getUI() | 返回工具栏的当前UI。 |
void setUI(ToolBarUI ui) | 设置呈现此组件的L&F对象。 |
void setOrientation(int o) | 设置工具栏的方向。 |
5 Java JToolBar的案例
package cn.xnip;
/**
* 小牛知识库网: https://www.xnip.cn
*/
import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JToolBar;
public class JToolBarExample {
public static void main(final String args[]) {
JFrame myframe = new JFrame("JToolBar案例-小牛知识库网");
myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JToolBar toolbar = new JToolBar();
toolbar.setRollover(true);
JButton button = new JButton("File");
toolbar.add(button);
toolbar.addSeparator();
toolbar.add(new JButton("Edit"));
toolbar.add(new JComboBox(new String[] { "Opt-1", "Opt-2", "Opt-3", "Opt-4" }));
Container contentPane = myframe.getContentPane();
contentPane.add(toolbar, BorderLayout.NORTH);
JTextArea textArea = new JTextArea();
JScrollPane mypane = new JScrollPane(textArea);
contentPane.add(mypane, BorderLayout.EAST);
myframe.setSize(450, 250);
myframe.setVisible(true);
}
}
输出结果为: