JToolBar创建工具条
来源:互联网 发布:端口号 进程 编辑:程序博客网 时间:2024/06/03 14:32
package com.dhy.swing.test;import java.awt.BorderLayout;import java.awt.Insets;import java.awt.Toolkit;import java.awt.datatransfer.Clipboard;import java.awt.datatransfer.DataFlavor;import java.awt.datatransfer.StringSelection;import java.awt.event.ActionEvent;import javax.swing.AbstractAction;import javax.swing.Action;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JToolBar;public class JToolBarTest { JFrame jf=new JFrame("测试工具条"); JTextArea jta=new JTextArea(6,35); JToolBar jtb=new JToolBar(); JMenuBar jmb=new JMenuBar(); JMenu edit=new JMenu("编辑"); //获取系统剪贴板 Clipboard clipboard=Toolkit.getDefaultToolkit().getSystemClipboard(); //创建“粘贴"Action,该Action用于创建菜单项、工具按钮和普通按钮 Action pasteAction=new AbstractAction("粘贴",new ImageIcon("ico/paste.png")){ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub //如果剪贴板中包含stringFlavor内容 if(clipboard.isDataFlavorAvailable(DataFlavor.stringFlavor)){ try{ //取出剪贴板中的stringFlavor内容 String content=(String)clipboard.getData(DataFlavor.stringFlavor); //将选中内容替换成剪贴板中的内容 jta.replaceRange(content, jta.getSelectionStart(),jta.getSelectionEnd()); }catch(Exception ee){ ee.printStackTrace(); } } } }; //创建“复制”Action Action copyAction=new AbstractAction("复制",new ImageIcon("ico/copy.png")){ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub StringSelection contents=new StringSelection(jta.getSelectedText()); //将StringSelection对象放入剪贴板中 clipboard.setContents(contents, null); //如果剪贴板中包含StringFlavor内容 if(clipboard.isDataFlavorAvailable(DataFlavor.stringFlavor)){ //将pasteAction激活 pasteAction.setEnabled(true); } } }; public void init(){ //pasteAction默认处于不激活状态 pasteAction.setEnabled(false); jf.add(new JScrollPane(jta)); //以Action创建按钮,并将该按钮添加到Panel中 JButton copyBn=new JButton(copyAction); JButton pasteBn=new JButton(pasteAction); JPanel jp=new JPanel(); jp.add(copyBn); jp.add(pasteBn); jf.add(jp,BorderLayout.SOUTH); //向工具条中添加Action对象,该对象将会转换成工具按钮 jtb.add(copyAction); jtb.addSeparator(); jtb.add(pasteAction); //向菜单中添加Action 对象,该对象将会转换成菜单项 edit.add(copyAction); edit.add(pasteAction); //将edit菜单添加到菜单条中 jmb.add(edit); jf.setJMenuBar(jmb); //设置工具条与工具按钮之间的页边距 jtb.setMargin(new Insets(20,10,5,30)); jf.add(jtb,BorderLayout.NORTH); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.pack(); jf.setVisible(true); } public static void main(String args []){ new JToolBarTest().init(); }}
0 0
- JToolBar创建工具条
- 创建工具条
- SDK创建工具条
- 工具条的创建过程
- MFC创建工具条步骤
- 创建工具条(ToolBar)
- MFC创建浮动工具条
- 在工具条里面创建 CComboBox
- 工具条的创建类CToolBar
- 工具条
- 在VFP程序中创建工具条
- 【飞秋】进一步完善 -- GEF创建助手工具条
- CDialog动态创建无资源工具条方法
- 在工具条上创建ComboBox控件
- 六、创建的新的工具条
- VC中如何创建多个工具条
- MFC窗口创建以及工具条的浮动
- JToolBar的使用
- 进程间通信的方式
- NNU_20161027_4PAT1027. 打印沙漏
- C语言OJ项目参考(2747)进制转换
- 理解JavaScript中的作用域和上下文
- 软件光栅器二之3D渲染流水线的设计和坐标系的选择
- JToolBar创建工具条
- intellij导入项目错误
- 客户端网页编程--CSS
- 外国人聊天中 :D 和 xD是什么意思
- 第14周 项目1 - (2)验证分块查找算法
- Junit 测试
- C语言OJ项目参考(1044):矩阵对角线元素之和
- IIR+双向滤波实现系统零相位相移_MATLAB仿真
- 找不到system.web.script解决