自己做的文本框中的快捷键的设置问题 aboutMenu.setAccelerator(KeyStroke.getKeyStroke("ctrl A"));我在做一个文本框为什么设置的快捷键无法运行?在文本框按下快捷键的时候没有反应?而在菜单栏上按下快捷键却有反应??尝试着在文本框中添加addKeyListener 来实现按下快捷键产生的动作,但最后还是宣告无效。请问应该如何实现快捷键?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,KeyEvent.CTRL_MASK)); 不是不响应,是因为你设置的快捷键和文本框的快捷键冲突了(比如:Ctrl+C,Ctrl+V),如果你设置个Ctrl+W就可以响应了所以执行的是文本框的快捷键,不执行Menu中的快捷键不知道能明白不先自己试试,不行再给你Source 其实你根本没必要这样子,假设你需要点击Delete键清除你文本里面的内容,那么按你现在的思路是把这个快捷键加在文本里面........你可以给这个文本做个右键菜单,或是你直接用你标题栏上面的菜单加一个清除的功能,然后把这个快捷键加在里面岂不是就达到了你的这个需求? 应该不是快捷键冲突问题文本框是我自己做的,不会存在快捷键冲突问题我怀疑是快捷键是在文本中按的,而Menu无法接收到快捷键。因为如果是在菜单栏那上面按的话,就可以运行Action,而在文本里按的话就无法运行如果你需要源码的话我给你 刚刚重新考虑了下你的建议只能用在Edit操作上无法用在保存文件之类的操作上麻烦重新考虑下 不如用javax.swing.ActionMap来处理键盘事件吧,这样整个程序接收的键盘事件都能处理 汗··链接没发出来http://blog.csdn.net/cwjfzu/archive/2005/11/01/520914.aspx 按Ctrl+D不好用,按Ctrl+W好用,不知道说的对不对PS:觉得文本和是不是自己做的无关import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import javax.swing.ButtonGroup;import javax.swing.JCheckBoxMenuItem;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JRadioButtonMenuItem;import javax.swing.JTextArea;import javax.swing.KeyStroke;import javax.swing.border.BevelBorder;public class IntroJMenuExample extends JMenuBar { /** * serialVersionUID */ private static final long serialVersionUID = 1250624352789987081L; private String[] filesItems = new String[]{"New", "Open", "Save", "Exit" }; private String[] editItems = new String[]{"Undo", "Cut", "Copy", "Paste" }; private char[] fileShortcuts = {'N', 'O', 'S', 'X' }; private char[] editShortcuts = {'Z', 'X', 'W', 'V' }; public IntroJMenuExample() { JMenu fileMenu = new JMenu("File"); JMenu editMenu = new JMenu("Edit"); JMenu otherMenu = new JMenu("Other"); JMenu subMenu = new JMenu("SubMenu"); JMenu subMenu2 = new JMenu("SubMenu2"); ActionListener printListener = new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("Menu item [" + e.getActionCommand() + "] was pressed"); } }; for (int i = 0; i < this.filesItems.length; i++) { JMenuItem item = new JMenuItem(this.filesItems[i], this.fileShortcuts[i]); item.addActionListener(printListener); fileMenu.add(item); } for (int i = 0; i < this.editItems.length; i++) { JMenuItem item = new JMenuItem(this.editItems[i]); KeyStroke keyStroke; if (i == 0) { keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0); } else { keyStroke = KeyStroke.getKeyStroke(this.editShortcuts[i], Toolkit .getDefaultToolkit() .getMenuShortcutKeyMask(), false); } item.setAccelerator(keyStroke); item.addActionListener(printListener); editMenu.add(item); } editMenu.insertSeparator(1); JMenuItem item; item = new JMenuItem("Extra 2"); subMenu2.add(item); item.addActionListener(printListener); item = new JMenuItem("Extra 1"); item.addActionListener(printListener); subMenu.add(item); subMenu.add(subMenu2); otherMenu.add(subMenu); item = new JCheckBoxMenuItem("Check me"); item.addActionListener(printListener); otherMenu.add(item); otherMenu.addSeparator(); ButtonGroup btnGroup = new ButtonGroup(); item = new JRadioButtonMenuItem("Radio 1"); item.addActionListener(printListener); otherMenu.add(item); btnGroup.add(item); item = new JRadioButtonMenuItem("Radio 2"); item.addActionListener(printListener); btnGroup.add(item); otherMenu.add(item); otherMenu.addSeparator(); item = new JMenuItem("Potted Plant"); item.addActionListener(printListener); otherMenu.add(item); this.add(fileMenu); this.add(editMenu); this.add(otherMenu); this.setSelected(item); this.setBorder(new BevelBorder(BevelBorder.RAISED)); } public static void main(String[] args) { JFrame frame = new JFrame(); JTextArea textArea = new JTextArea(); frame.getContentPane().add(textArea); KeyListener[] keyListeners = textArea.getKeyListeners(); for (KeyListener listener : keyListeners) { textArea.removeKeyListener(listener); } frame.setJMenuBar(new IntroJMenuExample()); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); }} 你的方法我试过的只能在面板上捕捉inputMap而后映射无法在文本区中捕捉的 放上源码,希望指教import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.event.DocumentEvent;import javax.swing.event.DocumentListener;public class Test{ public static void main(String[] args) { TestFrame frame= new TestFrame(); frame.setVisible(true); }}class TestFrame extends JFrame{ JTextArea area; public TestFrame(){ this.setTitle("文本区"); /** * WindowListener implements */ this.addWindowListener(new WindowListener(){ public void windowActivated(WindowEvent arg0) { // TODO 自动生成方法存根 } public void windowClosed(WindowEvent arg0) { // TODO 自动生成方法存根 } public void windowClosing(WindowEvent arg0) { // TODO 自动生成方法存根 } public void windowDeactivated(WindowEvent arg0) { // TODO 自动生成方法存根 } public void windowDeiconified(WindowEvent arg0) { // TODO 自动生成方法存根 } public void windowIconified(WindowEvent arg0) { // TODO 自动生成方法存根 } public void windowOpened(WindowEvent arg0) { // TODO 自动生成方法存根 } }); /** * Set the size of frame */ Toolkit tool= Toolkit.getDefaultToolkit(); Dimension screenSize= tool.getScreenSize(); int width= screenSize.width; int height= screenSize.height; this.setSize(width/3+50, height/3); this.setLocation(width/4, height/4); /** * Add the JTextArea */ area = new JTextArea(); this.add(area); area.setLineWrap(true); area.setFont(new Font(Font.SERIF,Font.PLAIN,15)); JScrollPane scrollPanel = new JScrollPane(area); this.add(scrollPanel,BorderLayout.CENTER); /** * Menu */ JMenuBar menuBar = new JMenuBar(); this.setJMenuBar(menuBar); //File Menu JMenu fileMenu= new JMenu("File(F) "); fileMenu.setMnemonic('F'); menuBar.add(fileMenu); JMenuItem openMenu= new JMenuItem("Open(O) Ctrl+O"); openMenu.setMnemonic('O'); fileMenu.add(openMenu); JMenuItem newMenu = new JMenuItem("New(N) Ctrl+N"); newMenu.setMnemonic('N'); fileMenu.insert(newMenu, 0); JMenuItem saveMenu = new JMenuItem("Save(S) Ctrl+S"); saveMenu.setMnemonic('S'); fileMenu.add(saveMenu); JMenuItem saveAsMenu = new JMenuItem("Save As(A)... "); saveAsMenu.setMnemonic('A'); fileMenu.add(saveAsMenu); fileMenu.addSeparator(); JMenuItem exitMenu = new JMenuItem("Exit(X) "); exitMenu.setMnemonic('X'); fileMenu.add(exitMenu); //Edit Menu JMenu editMenu = new JMenu("Edit(E) "); editMenu.setMnemonic('E'); menuBar.add(editMenu); JMenuItem cutMenu= new JMenuItem("Cut(T) Ctrl+X"); cutMenu.setMnemonic('T'); cutMenu.setAccelerator(KeyStroke.getKeyStroke("ctrl x")); editMenu.add(cutMenu); JMenuItem copyMenu = new JMenuItem("Copy(C) Ctrl+C"); copyMenu.setMnemonic('C'); editMenu.add(copyMenu); JMenuItem pasteMenu = new JMenuItem("Paste(P) Ctrl+V"); pasteMenu.setMnemonic('P'); editMenu.add(pasteMenu); JMenuItem delMenu = new JMenuItem("Delete(L) Del"); delMenu.setMnemonic('L'); editMenu.add(delMenu); //Fromat Menu JMenu formatMenu = new JMenu("Format(M) "); formatMenu.setMnemonic('M'); menuBar.add(formatMenu); final JMenuItem wrapMenu = new JMenuItem("√Wrap(W)"); wrapMenu.setMnemonic('W'); formatMenu.add(wrapMenu); wrapMenu.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { // TODO 自动生成方法存根 area.setLineWrap(!area.getLineWrap()); wrapMenu.setText(area.getLineWrap()?"√Wrap(W)":"Wrap(W)"); } }); JMenuItem fontChooseMenu = new JMenuItem("Font Choose(P)"); fontChooseMenu.setMnemonic('P'); formatMenu.add(fontChooseMenu); JMenu fontMenu = new JMenu("Font(F)"); fontMenu.setMnemonic('F'); formatMenu.add(fontMenu); ButtonGroup nameGroup = new ButtonGroup(); JRadioButtonMenuItem nameSerif= new JRadioButtonMenuItem("Serif"); nameSerif.setSelected(true); nameSerif.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { // TODO 自动生成方法存根 area.setFont(new Font(Font.SERIF,area.getFont().getStyle(),area.getFont().getSize())); } }); nameGroup.add(nameSerif); fontMenu.add(nameSerif); JRadioButtonMenuItem nameMonospaced= new JRadioButtonMenuItem("Monospaced"); nameMonospaced.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { // TODO 自动生成方法存根 area.setFont(new Font(Font.MONOSPACED,area.getFont().getStyle(),area.getFont().getSize())); } }); nameGroup.add(nameMonospaced); fontMenu.add(nameMonospaced); JRadioButtonMenuItem nameDialog = new JRadioButtonMenuItem("Dialog"); nameDialog.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { // TODO 自动生成方法存根 area.setFont(new Font(Font.DIALOG,area.getFont().getStyle(),area.getFont().getSize())); } }); nameGroup.add(nameDialog); fontMenu.add(nameDialog); fontMenu.addSeparator(); ButtonGroup styleGroup = new ButtonGroup(); JRadioButtonMenuItem stylePlain = new JRadioButtonMenuItem("Plain"); stylePlain.setSelected(true); stylePlain.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { // TODO 自动生成方法存根 area.setFont(new Font(area.getFont().getFontName(),Font.PLAIN,area.getFont().getSize())); } }); styleGroup.add(stylePlain); fontMenu.add(stylePlain); JRadioButtonMenuItem styleBold = new JRadioButtonMenuItem("Bold"); styleBold.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { // TODO 自动生成方法存根 area.setFont(new Font(area.getFont().getFontName(),Font.BOLD,area.getFont().getSize())); } }); styleGroup.add(styleBold); fontMenu.add(styleBold); JRadioButtonMenuItem styleItalic = new JRadioButtonMenuItem("Italic"); styleItalic.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { // TODO 自动生成方法存根 area.setFont(new Font(area.getFont().getFontName(),Font.ITALIC,area.getFont().getSize())); } }); styleGroup.add(styleItalic); fontMenu.add(styleItalic); fontMenu.addSeparator(); ButtonGroup sizeGroup = new ButtonGroup(); JRadioButtonMenuItem size12 = new JRadioButtonMenuItem("12"); size12.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { // TODO 自动生成方法存根 area.setFont(new Font(area.getFont().getFontName(),area.getFont().getStyle(),12)); } }); sizeGroup.add(size12); fontMenu.add(size12); JRadioButtonMenuItem size15= new JRadioButtonMenuItem("15"); size15.setSelected(true); size15.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { // TODO 自动生成方法存根 area.setFont(new Font(area.getFont().getFontName(),area.getFont().getStyle(),15)); } }); sizeGroup.add(size15); fontMenu.add(size15); JRadioButtonMenuItem size18= new JRadioButtonMenuItem("18"); size18.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { // TODO 自动生成方法存根 area.setFont(new Font(area.getFont().getFontName(),area.getFont().getStyle(),18)); } }); sizeGroup.add(size18); fontMenu.add(size18); JRadioButtonMenuItem size20 = new JRadioButtonMenuItem("20"); size20.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { // TODO 自动生成方法存根 area.setFont(new Font(area.getFont().getFontName(),area.getFont().getStyle(),20)); } }); sizeGroup.add(size20); fontMenu.add(size20); cutMenu.setMnemonic('T');改cutMenu.setMnemonic(keyEvent.VK_T);其他的快捷键同上 递归算法有几种实现方式 linux下运行JAVA问题,急~ 关于socket编程(客户端) 怎么给JMenu添加图片 各位高手,请指点迷津。。。 急!!!请问如何进行循环插入数据库呀! java 代码生成器 欢迎高手来讨论! 各位,圣诞快乐!散分! 请问各位前辈,我把java作为我的第一门计算机语言如何? 编一个类似PPT用来做幻灯片的程序 关于icon 大小的问题
所以执行的是文本框的快捷键,不执行Menu中的快捷键
不知道能明白不
先自己试试,不行再给你Source
文本框是我自己做的,不会存在快捷键冲突问题
我怀疑是快捷键是在文本中按的,而Menu无法接收到快捷键。
因为如果是在菜单栏那上面按的话,就可以运行Action,
而在文本里按的话就无法运行
如果你需要源码的话我给你
你的建议只能用在Edit操作上
无法用在保存文件之类的操作上
麻烦重新考虑下
PS:觉得文本和是不是自己做的无关
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;import javax.swing.ButtonGroup;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JTextArea;
import javax.swing.KeyStroke;
import javax.swing.border.BevelBorder;public class IntroJMenuExample extends JMenuBar { /**
* serialVersionUID
*/
private static final long serialVersionUID = 1250624352789987081L; private String[] filesItems = new String[]{"New", "Open", "Save", "Exit" }; private String[] editItems = new String[]{"Undo", "Cut", "Copy", "Paste" }; private char[] fileShortcuts = {'N', 'O', 'S', 'X' }; private char[] editShortcuts = {'Z', 'X', 'W', 'V' }; public IntroJMenuExample() {
JMenu fileMenu = new JMenu("File");
JMenu editMenu = new JMenu("Edit");
JMenu otherMenu = new JMenu("Other");
JMenu subMenu = new JMenu("SubMenu");
JMenu subMenu2 = new JMenu("SubMenu2"); ActionListener printListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Menu item [" + e.getActionCommand() + "] was pressed");
}
}; for (int i = 0; i < this.filesItems.length; i++) {
JMenuItem item = new JMenuItem(this.filesItems[i], this.fileShortcuts[i]);
item.addActionListener(printListener);
fileMenu.add(item);
} for (int i = 0; i < this.editItems.length; i++) {
JMenuItem item = new JMenuItem(this.editItems[i]);
KeyStroke keyStroke;
if (i == 0) { keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0);
} else {
keyStroke =
KeyStroke.getKeyStroke(this.editShortcuts[i], Toolkit
.getDefaultToolkit()
.getMenuShortcutKeyMask(), false);
}
item.setAccelerator(keyStroke);
item.addActionListener(printListener);
editMenu.add(item);
} editMenu.insertSeparator(1); JMenuItem item;
item = new JMenuItem("Extra 2");
subMenu2.add(item);
item.addActionListener(printListener);
item = new JMenuItem("Extra 1");
item.addActionListener(printListener);
subMenu.add(item);
subMenu.add(subMenu2); otherMenu.add(subMenu);
item = new JCheckBoxMenuItem("Check me");
item.addActionListener(printListener);
otherMenu.add(item);
otherMenu.addSeparator(); ButtonGroup btnGroup = new ButtonGroup();
item = new JRadioButtonMenuItem("Radio 1");
item.addActionListener(printListener);
otherMenu.add(item);
btnGroup.add(item);
item = new JRadioButtonMenuItem("Radio 2");
item.addActionListener(printListener);
btnGroup.add(item);
otherMenu.add(item);
otherMenu.addSeparator();
item = new JMenuItem("Potted Plant");
item.addActionListener(printListener);
otherMenu.add(item); this.add(fileMenu);
this.add(editMenu);
this.add(otherMenu);
this.setSelected(item);
this.setBorder(new BevelBorder(BevelBorder.RAISED));
} public static void main(String[] args) {
JFrame frame = new JFrame();
JTextArea textArea = new JTextArea();
frame.getContentPane().add(textArea);
KeyListener[] keyListeners = textArea.getKeyListeners();
for (KeyListener listener : keyListeners) {
textArea.removeKeyListener(listener);
}
frame.setJMenuBar(new IntroJMenuExample());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
只能在面板上捕捉inputMap而后映射
无法在文本区中捕捉的
import java.awt.*;
import java.awt.event.*;import javax.swing.*;
import javax.swing.border.*;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
public class Test{
public static void main(String[] args) {
TestFrame frame= new TestFrame();
frame.setVisible(true);
}
}class TestFrame extends JFrame{
JTextArea area;
public TestFrame(){
this.setTitle("文本区");
/**
* WindowListener implements
*/
this.addWindowListener(new WindowListener(){
public void windowActivated(WindowEvent arg0) {
// TODO 自动生成方法存根
}
public void windowClosed(WindowEvent arg0) {
// TODO 自动生成方法存根
}
public void windowClosing(WindowEvent arg0) {
// TODO 自动生成方法存根
}
public void windowDeactivated(WindowEvent arg0) {
// TODO 自动生成方法存根
}
public void windowDeiconified(WindowEvent arg0) {
// TODO 自动生成方法存根
}
public void windowIconified(WindowEvent arg0) {
// TODO 自动生成方法存根
}
public void windowOpened(WindowEvent arg0) {
// TODO 自动生成方法存根
}
});
/**
* Set the size of frame
*/
Toolkit tool= Toolkit.getDefaultToolkit();
Dimension screenSize= tool.getScreenSize();
int width= screenSize.width;
int height= screenSize.height;
this.setSize(width/3+50, height/3);
this.setLocation(width/4, height/4);
/**
* Add the JTextArea
*/
area = new JTextArea();
this.add(area);
area.setLineWrap(true);
area.setFont(new Font(Font.SERIF,Font.PLAIN,15));
JScrollPane scrollPanel = new JScrollPane(area);
this.add(scrollPanel,BorderLayout.CENTER);
/**
* Menu
*/
JMenuBar menuBar = new JMenuBar();
this.setJMenuBar(menuBar);
//File Menu
JMenu fileMenu= new JMenu("File(F) ");
fileMenu.setMnemonic('F');
menuBar.add(fileMenu);
JMenuItem openMenu= new JMenuItem("Open(O) Ctrl+O");
openMenu.setMnemonic('O');
fileMenu.add(openMenu);
JMenuItem newMenu = new JMenuItem("New(N) Ctrl+N");
newMenu.setMnemonic('N');
fileMenu.insert(newMenu, 0);
JMenuItem saveMenu = new JMenuItem("Save(S) Ctrl+S");
saveMenu.setMnemonic('S');
fileMenu.add(saveMenu);
JMenuItem saveAsMenu = new JMenuItem("Save As(A)... ");
saveAsMenu.setMnemonic('A');
fileMenu.add(saveAsMenu);
fileMenu.addSeparator();
JMenuItem exitMenu = new JMenuItem("Exit(X) ");
exitMenu.setMnemonic('X');
fileMenu.add(exitMenu);
//Edit Menu
JMenu editMenu = new JMenu("Edit(E) ");
editMenu.setMnemonic('E');
menuBar.add(editMenu);
JMenuItem cutMenu= new JMenuItem("Cut(T) Ctrl+X");
cutMenu.setMnemonic('T');
cutMenu.setAccelerator(KeyStroke.getKeyStroke("ctrl x"));
editMenu.add(cutMenu);
JMenuItem copyMenu = new JMenuItem("Copy(C) Ctrl+C");
copyMenu.setMnemonic('C');
editMenu.add(copyMenu);
JMenuItem pasteMenu = new JMenuItem("Paste(P) Ctrl+V");
pasteMenu.setMnemonic('P');
editMenu.add(pasteMenu);
JMenuItem delMenu = new JMenuItem("Delete(L) Del");
delMenu.setMnemonic('L');
editMenu.add(delMenu);
//Fromat Menu
JMenu formatMenu = new JMenu("Format(M) ");
formatMenu.setMnemonic('M');
menuBar.add(formatMenu);
final JMenuItem wrapMenu = new JMenuItem("√Wrap(W)");
wrapMenu.setMnemonic('W');
formatMenu.add(wrapMenu);
wrapMenu.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成方法存根
area.setLineWrap(!area.getLineWrap());
wrapMenu.setText(area.getLineWrap()?"√Wrap(W)":"Wrap(W)");
}
});
JMenuItem fontChooseMenu = new JMenuItem("Font Choose(P)");
fontChooseMenu.setMnemonic('P');
formatMenu.add(fontChooseMenu);
JMenu fontMenu = new JMenu("Font(F)");
fontMenu.setMnemonic('F');
formatMenu.add(fontMenu);
ButtonGroup nameGroup = new ButtonGroup();
JRadioButtonMenuItem nameSerif= new JRadioButtonMenuItem("Serif");
nameSerif.setSelected(true);
nameSerif.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成方法存根
area.setFont(new Font(Font.SERIF,area.getFont().getStyle(),area.getFont().getSize()));
}
});
nameGroup.add(nameSerif);
fontMenu.add(nameSerif);
JRadioButtonMenuItem nameMonospaced= new JRadioButtonMenuItem("Monospaced");
nameMonospaced.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成方法存根
area.setFont(new Font(Font.MONOSPACED,area.getFont().getStyle(),area.getFont().getSize()));
}
});
nameGroup.add(nameMonospaced);
fontMenu.add(nameMonospaced);
JRadioButtonMenuItem nameDialog = new JRadioButtonMenuItem("Dialog");
nameDialog.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成方法存根
area.setFont(new Font(Font.DIALOG,area.getFont().getStyle(),area.getFont().getSize()));
}
});
nameGroup.add(nameDialog);
fontMenu.add(nameDialog);
fontMenu.addSeparator();
ButtonGroup styleGroup = new ButtonGroup();
JRadioButtonMenuItem stylePlain = new JRadioButtonMenuItem("Plain");
stylePlain.setSelected(true);
stylePlain.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成方法存根
area.setFont(new Font(area.getFont().getFontName(),Font.PLAIN,area.getFont().getSize()));
}
});
styleGroup.add(stylePlain);
fontMenu.add(stylePlain);
JRadioButtonMenuItem styleBold = new JRadioButtonMenuItem("Bold");
styleBold.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成方法存根
area.setFont(new Font(area.getFont().getFontName(),Font.BOLD,area.getFont().getSize()));
}
});
styleGroup.add(styleBold);
fontMenu.add(styleBold);
JRadioButtonMenuItem styleItalic = new JRadioButtonMenuItem("Italic");
styleItalic.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成方法存根
area.setFont(new Font(area.getFont().getFontName(),Font.ITALIC,area.getFont().getSize()));
}
});
styleGroup.add(styleItalic);
fontMenu.add(styleItalic);
fontMenu.addSeparator();
ButtonGroup sizeGroup = new ButtonGroup();
JRadioButtonMenuItem size12 = new JRadioButtonMenuItem("12");
size12.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成方法存根
area.setFont(new Font(area.getFont().getFontName(),area.getFont().getStyle(),12));
}
});
sizeGroup.add(size12);
fontMenu.add(size12);
JRadioButtonMenuItem size15= new JRadioButtonMenuItem("15");
size15.setSelected(true);
size15.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成方法存根
area.setFont(new Font(area.getFont().getFontName(),area.getFont().getStyle(),15));
}
});
sizeGroup.add(size15);
fontMenu.add(size15);
JRadioButtonMenuItem size18= new JRadioButtonMenuItem("18");
size18.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成方法存根
area.setFont(new Font(area.getFont().getFontName(),area.getFont().getStyle(),18));
}
});
sizeGroup.add(size18);
fontMenu.add(size18);
JRadioButtonMenuItem size20 = new JRadioButtonMenuItem("20");
size20.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成方法存根
area.setFont(new Font(area.getFont().getFontName(),area.getFont().getStyle(),20));
}
});
sizeGroup.add(size20);
fontMenu.add(size20);
改
cutMenu.setMnemonic(keyEvent.VK_T);
其他的快捷键同上