工具栏提供了一个用来显示常用按钮和操作的组件

它可以把任意类型的组件附加到工具条上,但是通常是增加按钮。

工具栏 JToolBar 类的常用构造方法:

  • JToolBar() ----创建新的工具栏,默认的方向为 HORIZONTAL(水平方向)
  • JToolBar(int orientation) ----创建具有指定 orientation(定位) 的新工具栏
  • JToolBar(String name)---- 创建一个具有指定 name 的新工具栏
  • JToolBar(String name,int orientation) ----创建一个具有指定 name 和 orientation
    的新工具栏

与 JMenuBar 不一样,JToolBar 对象可以直接被添加到容器中JToolBar类的常用方法:

  • add(Action a) ----添加一个指派动作的新的 JButton
  • addSeparator()---- 将默认大小的分隔符添加到工具栏的末尾
  • addSeparator(Dimension size)---- 将指定大小的分隔符添加到工具栏的末尾
  • getComponentAtIndex(int i)---- 返回指定索引位置的组件
  • getComponentIndex(Component c) ----返回指定组件的索引
  • getMargin() ----返回工具栏边框和它的按钮之间的空白
  • getOrientation()---- 返回工具栏的当前方向
  • isFloatable()---- 获取 floatable 属性
  • isRollover() ----返回 rollover 状态
  • setBorderPainted(boolean b) ----设置 borderPainted 属性,如果需要绘制边框,则此属性为 true
  • setFloatable(boolean b)---- 设置 floatable 属性,如果要移动工具栏,此属性必须设置为 true
  • setLayout(LayoutManager mgr)---- 设置此容器的布局管理器
  • setMargin(Insets m)---- 设置工具栏边框和它的按钮之间的空白
  • setOrientation(int o) ----设置工具栏的方向
  • setRollover(boolean rollover) ----设置此工具栏的 rollover 状态

例 1
下面通过实例来说明如何使用 JToolBar 创建工具栏,在该实例中给工具栏上的按钮添加了图片,当图片不存在时使用文字代替。主要实现步骤如下所示。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JToolBar;
public class ToolBarDemo extends JPanel implements ActionListener
{protected JTextArea textArea;protected String newline="\n";static final private String OPEN="OPEN";static final private String SAVE="SAVE";static final private String NEW="NEW";   //事件监听器部分的代码省略,请查阅源文件protected void displayResult(String actionDescription){textArea.append(actionDescription+newline);}public static void main(String[] args){JFrame.setDefaultLookAndFeelDecorated(true);//定义窗体JFrame frame=new JFrame("工具栏");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//定义面板ToolBarDemo newContentPane=new ToolBarDemo();newContentPane.setOpaque(true);frame.setContentPane(newContentPane);//显示窗体frame.pack();frame.setVisible(true);}@Overridepublic void actionPerformed(ActionEvent e){// TODO 自动生成的方法存根}
}

(2) 在构造方法中对工具栏进行设置,主要代码如下所示。

public ToolBarDemo()
{super(new BorderLayout());//创建工具栏JToolBar toolBar=new JToolBar();addButtons(toolBar);//创建一个文本域,用来输出一些信息textArea=new JTextArea(15, 30);textArea.setEditable(false);JScrollPane scrollPane=new JScrollPane(textArea);//把组件添加到面板中setPreferredSize(new Dimension(450, 110));add(toolBar,BorderLayout.PAGE_START);add(scrollPane,BorderLayout.CENTER);
}

(3) 构造方法中创建了一个工具栏 toolBar,然后调用 addButtons() 方法为工具栏设置按钮。

addButtons() 方法的代码如下:
protected void addButtons(JToolBar toolBar)
{JButton button=null;button=makeNavigationButton("new1",NEW,"新建一个文件","新建");toolBar.add(button);button=makeNavigationButton("open1",OPEN,"打开一个文件","打开");toolBar.add(button);button=makeNavigationButton("save1",SAVE,"保存当前文件","保存");toolBar.add(button);
}

(4) 在 addButtons() 方法中调用 makeNavigationButton() 方法,实现对工具栏上的按钮指定图片、动作指令、提示信息和无图片时的文本。具体实现代码如下:

protected JButton makeNavigationButton(String imageName,String actionCommand,String toolTipText,String altText)
{//搜索图片String imgLocation=imageName+".jpg";URL imageURL=ToolBarDemo.class.getResource(imgLocation);//初始化工具按钮JButton button=new JButton();//设置按钮的命令button.setActionCommand(actionCommand);//设置提示信息button.setToolTipText(toolTipText);button.addActionListener(this);if(imageURL!=null){//找到图像button.setIcon(new ImageIcon(imageURL));}else{//没有图像button.setText(altText);System.err.println("Resource not found: "+imgLocation);}return button;
}

(5) 运行程序,在窗口的顶部会看到包含 3 个按钮的工具栏。当鼠标指针放在工具按钮上时出现提示信息,如图 1 所示。

19、Java Swing JToolBar:工具栏组件相关推荐

  1. java动态添加组件_有关Java Swing动态增加组件

    展开全部 效果图 参考代码import java.awt.*; import java.awt.event.*; import javax.swing.*; //本类继承自JFrame 实现了 Act ...

  2. 【Java Swing探索之路系列】之二:Java Swing布局面板组件

    作者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 面 ...

  3. Java Swing 树状组件JTree的使用方法【图】

    树中特定的节点可以由 TreePath(封装节点及其所有祖先的对象)标识,或由其显示行(其中显示区域中的每一行都显示一个节点)标识.展开 节点是一个非叶节点(由返回 false 的 TreeModel ...

  4. 基于Java Swing界面编程教学

    基于Java Swing界面编程 Swing是Java基础类的一部分,是一个为Java设计的GUI工具包. Swing包含了诸多图形用户界面(GUI)器件,提供了许多比awt更好的屏幕显示元素. 本教 ...

  5. java容器doc_java容器组件

    [解析] java.awt包提供了基本的 java程序的GUI设计工具.主要包括下述三个概念:组件―Component;容器―Container;布局管理器―LayoutManage.所以选项A是正确 ...

  6. java jbutton边框颜色_在Java Swing中更改JButton的边框颜色,以保留插图

    我想更改Java Swing中JButton组件的边框颜色. 我尝试了以下方法: package com.example.test; import java.awt.Color; import jav ...

  7. JAVA card 应用开发(四) Java Card CAP 文件组件分析

    Java Card CAP 文件组件分析 来源:http://www.dreamingfish123.info/?cat=79 Java Card CAP 文件组件分析 00.1 Java Card ...

  8. Java Swing窗体编写——窗口创建思想

    目录 Java Swing 1.常见组件的介绍 1.1.相关内容 1.2.创建思想 2.总结 Java Swing 1.常见组件的介绍 JFrame.JPanel.JLabel.JTextArea.J ...

  9. java swing jtoolbar_Java Swing JToolBar

    要禁用退出选项,只需调用exitAction.setEnabled(false)和两个按钮菜单和工具栏上的按钮将被禁用.... 工具栏主持按钮,在JFrame中为用户提供常用的操作. JToolBar ...

最新文章

  1. selenium+python自动化84-chrome手机wap模式
  2. Java新鲜东西,带有标签的continue和break
  3. 【控制】如何入门自动控制理论
  4. teraterm 执行sql命令_tera term的ttl脚本使用方法 | 学步园
  5. Tomcat无法shutdown进程问题解决办法
  6. 基于Windows Socket 的网络通信中的心跳机制原理
  7. c语言如何把c程序编译成可执行的exe文件
  8. 凭借K2 SmartObject框架,在SharePoint中集成数据
  9. php病毒图片后缀名,脚本图片类后门病毒的完美使用方法
  10. poj 2262 Goldbach's Conjecture(筛素数)
  11. 高通:蓝牙5.0将可同时连接两个设备
  12. C#枚举中使用Flags特性
  13. 小菜找实习——阿里3月27日场笔试第一题
  14. A Beginner‘s Guide To Understanding Convolutional Neural Networks(part 1)
  15. 给测试实习生,新人的小小建议
  16. 分享一个简单好看的科技公司官网模板-纯HTML+CSS
  17. Redis的集群配置
  18. SOAP Client in Delphi7
  19. Android SystemClock类
  20. Java 面向对象之剪刀石头布

热门文章

  1. JavaScript优化基本篇
  2. Excel批量转csv格式
  3. C语言博客作业05--指针
  4. java计算两地距离(公里)
  5. 03_4_this关键字
  6. ToStringBuilder学习(三):readResolve()方法与序列化
  7. 使用FLVPlayback组件播放fms(fcs)的流式FLV文件
  8. C++之全局函数和成员函数互相转换
  9. NRF51822之发射功率
  10. 测验4: 程序的控制结构 (第4周)