第12章-Swing编程 --- 使用JToolBar创建工具条
2020-12-13 02:53
标签:style class blog code java tar 第12章-Swing编程 --- 使用JToolBar创建工具条 Swing提供了JToolBar类来创建工具条,创建JToolBar对象时可以指定如下两个参数: -->name: 该参数指定该工具条的名称. -->orientation:该参数指定该工具条的方法. JToolBar对象还有如下几个常用方法: -->JButton add(Action a): 通过Action对象为JToolBar添加对应的工具按钮. -->void addSeparator(Dimension size):向工具条中添加指定大小的分隔符. -->void setFloatable(boolean b):设置该工具条是否可浮动,即该工具条是否可以拖动. -->void setMargin(Insets m):设置工具条边框和工具按钮之间的页边距. -->void setOrientation(int o):设置工具条的方向. -->void setRollover(boolean rollover):设置此工具条的rollover状态. 下面程序举例: 第12章-Swing编程 --- 使用JToolBar创建工具条,搜素材,soscw.com 第12章-Swing编程 --- 使用JToolBar创建工具条 标签:style class blog code java tar 原文地址:http://www.cnblogs.com/xinhuaxuan/p/3786334.htmlimport 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 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
{
private JFrame jf = new JFrame("测试工具条");
private JTextArea jta = new JTextArea(6,35);
private JToolBar jtb = new JToolBar();
private JMenuBar jmb = new JMenuBar();
private JMenu edit = new JMenu("编辑");
//获取系统剪贴板
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
//创建 "粘贴" Action,该Action用于创建菜单项、工具按钮和普通按钮
Action pasteAction = new AbstractAction("粘贴",new ImageIcon("ico/paste.png")){
public void actionPerformed(java.awt.event.ActionEvent e)
{
//如果剪贴板中包含 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")){
public void actionPerformed(java.awt.event.ActionEvent e)
{
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();
}
}
文章标题:第12章-Swing编程 --- 使用JToolBar创建工具条
文章链接:http://soscw.com/essay/26513.html