?? testjtoolbar.java
字號:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.datatransfer.*;
/**
* Description:
* <br/>Copyright (C), 2005-2008, Yeeku.H.Lee
* <br/>This program is protected by copyright laws.
* <br/>Program Name:
* <br/>Date:
* @author Yeeku.H.Lee kongyeeku@163.com
* @version 1.0
*/
public class TestJToolBar
{
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"))
{
public void actionPerformed(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(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 TestJToolBar().init();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -