62,614
社区成员
发帖
与我相关
我的任务
分享
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
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.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JTextField;
import javax.swing.JToolBar;
import javax.swing.KeyStroke;
public class MenuUseDemo extends JFrame
{
public static final int WIDTH=250;
public static final int Height=200;
private JMenuItem newItem;
private JMenuItem openItem;
private JMenuItem closeItem;
private JMenuItem saveItem;
private JMenuItem cutItem;
private JMenuItem copyItem;
private JMenuItem pasteItem;
private JMenuItem cutItemPop;
private JMenuItem copyItemPop;
private JMenuItem pasteItemPop;
private JRadioButtonMenuItem forwardItem;
private JRadioButtonMenuItem backwardItem;
private JPopupMenu popup;
private JTextField MyTextField;
public MenuUseDemo()
{
setTitle("hello");
setSize(WIDTH,HEIGHT);
Container contentPane=getContentPane();
JPanel textPane1=new JPanel();
myTextField=new JTextField("",20);
textPanel.add(myTextField);
contentPane.add(textPanel);
JMenuBar menuBar=new JMenuBar();
setJMenuBar(menuBar);
JMenu fileMenu=new JMenu("文件");
fileMenu.setMnemonic('F');
newItem=fileMenu.add(new ShowAction("新建"));
newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));
openItem=fileMenu.add(new ShowAction("打开"));
openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
fileMenu.addSeparator();
saveItem=fileMenu.add(new ShowAction("保存"));
saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
saveItem.setEnabled(false);
closeItem=fileMenu.add(new ShowAction("退出"));
closeItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L,InputEvent.CTRL_MASK));
closeItem.setEnabled(false);
fileMenu.addSeparator();
JMenuItem exitItem=new JMenuItem("退出",'T');
exitItem.addActionListener(new AbstactAction("退出")
{
public void actionPerformed(ActionEvent event)
{
System.exit(0);
}
});
exitItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T,InputEvent.CTRL_MASK));
fileMenu.add(exitItem);
JMenu editMenu=new JMenu("编辑");
editMenu.setMnemonic('E');
cutItem=new JMenu("剪切",'C');
editMenu.add(cutMenu);
cutItem.addActionListener(new ShowAction("剪切"));
cutItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,InputEvent.CTRL_MASK));
cutItem.setEnabled(false);
copyItem=new JMenu("复制",'Y');
copyItem.addActionListener(new ShowAction("复制"));
copyItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Y,InputEvent.CTRL_MASK));
copyItem.setEnabled(false);
copyItem=new JMenu("粘贴",'P');
copyItem.addActionListener(new ShowAction("粘贴"));
copyItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
copyItem.setEnabled(false);
editMenu.add(copyItem);
eidtMenu.add(PasteItem);
JMenu searchMenu= new JMenu("搜索");
searchMenu.setMnemonic('S');
ButtonGroup group=new ButtonGroup();
forwardItem=new JRadioButtonMenuItem("Forward");
forwardItem.addActionListener(new ShowAction("Forward"));
forwardItem.setSelected(true);
forwardItem.setEnabled(false);
backwardItem=new JRadioButtonMenuItem("Backward");
backwardItem.addActionListener(new ShowAction("Backward"));
backwardItem.setEnabled(false);
group.add(forwardItem);
group.add(backwardItem);
searchMenu.add(forwardItem);
searchMenu.add(backwardItem);
JMenu viewMenu=new JMenu("视图");
viewMenu.setMnemonic('V');
JMenu optionMenu=new JMenu("选项");
optionMenu.setMnemonic('O');
JCheckBoxMenuItem toolItem=new JCheckBoxMenuItem("ToolBar");
JCheckBoxMenuItem statusItem=new JCheckBoxMenuItem("Status");
toolItem.addActionListener(new ShowAction("ToolBar"));
statusItem.addActionListener(new ShowAction("Status"));
optionMenu.add(toolItem);
optionMenu.add(statusItem);
viewMenu.add(optionMenu);
menuBar.add(fileMenu);
menuBar.add(editMenu);
menuBar.add(searchMenu);
menuBar.add(viewMenu);
popup=new JPopupMenu();
cutItemPop=new JMenuItem("剪切",'C');
cutItemPop.addActionListener(new ShowAction("CutPop"));
cutItemPop.setEnabled(false);
copyItemPop=new JMenuItem("复制",'Y');
copyItemPop.addActionListener(new ShowAction("CopyPop"));
copyItemPop.setEnabled(false);
pasteItemPop=new JMenuItem("粘贴",'P');
pasteItemPop.addActionListener(new ShowAction("PastePop"));
pasteItemPop.setEnabled(false);
popup.add(cutItemPop);
popup.add(copyItemPop);
popup.add(pasteItemPop);
getContentPane().addMouseListener(new MouseAdapter()
{
public void mouseReleased(MouseEvent event)
{
if(event.isPopupTrigger())
popup.show(event.getComPonent(),event.getX(),event.getY());
}
});
}
private class ShowAction extends AbstractAction
{
public ShowAction(String name)
{
super(name);
}
}
public void actionPerformed(ActionEvent event)
{
if(event.getSoure()==newItem||event.getSoure()==openItem)
{
saveItem.setEnabled(true);
closeItem.setEnabled(true);
cutItem.setEnabled(true);
copyItem.setEnabled(true);
pasteItem.setEnabled(true);
forwardItem.setEnabled(true);
backwardItem.setEnabled(true);
cutItemPop.setEnabled(true);
copyItemPop.setEnabled(true);
pasteItemPop.setEnabled(true);
}
if(event.getSoure()==closeItem)
{
saveItem.setEnabled(false);
closeItem.setEnabled(false);
cutItem.setEnabled(false);
copyItem.setEnabled(false);
pasteItem.setEnabled(false);
forwardItem.setEnabled(false);
backwardItem.setEnabled(false);
cutItemPop.setEnabled(false);
copyItemPop.setEnabled(false);
pasteItemPop.setEnabled(false);
}
myTextField.setText(getValue(Action.NAME)+"selected.");
}
}
public static void main(String[] args)
{
MenuUseDemo frame=new MenuUseDemo();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
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.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JTextField;
import javax.swing.KeyStroke;
public class MenuUseDemo extends JFrame
{
public static final int WIDTH=250;
public static final int Height=200;
private JMenuItem newItem;
private JMenuItem openItem;
private JMenuItem closeItem;
private JMenuItem saveItem;
private JMenuItem cutItem;
private JMenuItem copyItem;
private JMenuItem pasteItem;
private JMenuItem cutItemPop;
private JMenuItem copyItemPop;
private JMenuItem pasteItemPop;
private JRadioButtonMenuItem forwardItem;
private JRadioButtonMenuItem backwardItem;
private JPopupMenu popup;
private JTextField myTextField;
public MenuUseDemo()
{
setTitle("hello");
setSize(WIDTH,HEIGHT);
Container contentPane=getContentPane();
JPanel textPanel=new JPanel();
myTextField=new JTextField("",20);
textPanel.add(myTextField);
contentPane.add(textPanel);
JMenuBar menuBar=new JMenuBar();
setJMenuBar(menuBar);
JMenu fileMenu=new JMenu("文件");
fileMenu.setMnemonic('F');
newItem=fileMenu.add(new ShowAction("新建"));
newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));
openItem=fileMenu.add(new ShowAction("打开"));
openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
fileMenu.addSeparator();
saveItem=fileMenu.add(new ShowAction("保存"));
saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
saveItem.setEnabled(false);
closeItem=fileMenu.add(new ShowAction("退出"));
closeItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L,InputEvent.CTRL_MASK));
closeItem.setEnabled(false);
fileMenu.addSeparator();
JMenuItem exitItem=new JMenuItem("exit",'T');
exitItem.addActionListener(new AbstractAction("exit")
{
public void actionPerformed(ActionEvent event)
{
System.exit(0);
}
});
exitItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T,InputEvent.CTRL_MASK));
fileMenu.add(exitItem);
JMenu editMenu=new JMenu("编辑");
editMenu.setMnemonic('E');
cutItem=new JMenuItem("剪切",'C');
editMenu.add(cutItem);
cutItem.addActionListener(new ShowAction("剪切"));
cutItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,InputEvent.CTRL_MASK));
cutItem.setEnabled(false);
copyItem=new JMenuItem("复制",'Y');
copyItem.addActionListener(new ShowAction("复制"));
copyItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Y,InputEvent.CTRL_MASK));
copyItem.setEnabled(false);
copyItem=new JMenuItem("粘贴",'P');
copyItem.addActionListener(new ShowAction("粘贴"));
copyItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
copyItem.setEnabled(false);
editMenu.add(copyItem);
editMenu.add(pasteItem);
JMenu searchMenu= new JMenu("搜索");
searchMenu.setMnemonic('S');
ButtonGroup group=new ButtonGroup();
forwardItem=new JRadioButtonMenuItem("Forward");
forwardItem.addActionListener(new ShowAction("Forward"));
forwardItem.setSelected(true);
forwardItem.setEnabled(false);
backwardItem=new JRadioButtonMenuItem("Backward");
backwardItem.addActionListener(new ShowAction("Backward"));
backwardItem.setEnabled(false);
group.add(forwardItem);
group.add(backwardItem);
searchMenu.add(forwardItem);
searchMenu.add(backwardItem);
JMenu viewMenu=new JMenu("视图");
viewMenu.setMnemonic('V');
JMenu optionMenu=new JMenu("选项");
optionMenu.setMnemonic('O');
JCheckBoxMenuItem toolItem=new JCheckBoxMenuItem("ToolBar");
JCheckBoxMenuItem statusItem=new JCheckBoxMenuItem("Status");
toolItem.addActionListener(new ShowAction("ToolBar"));
statusItem.addActionListener(new ShowAction("Status"));
optionMenu.add(toolItem);
optionMenu.add(statusItem);
viewMenu.add(optionMenu);
menuBar.add(fileMenu);
menuBar.add(editMenu);
menuBar.add(searchMenu);
menuBar.add(viewMenu);
popup=new JPopupMenu();
cutItemPop=new JMenuItem("剪切",'C');
cutItemPop.addActionListener(new ShowAction("CutPop"));
cutItemPop.setEnabled(false);
copyItemPop=new JMenuItem("复制",'Y');
copyItemPop.addActionListener(new ShowAction("CopyPop"));
copyItemPop.setEnabled(false);
pasteItemPop=new JMenuItem("粘贴",'P');
pasteItemPop.addActionListener(new ShowAction("PastePop"));
pasteItemPop.setEnabled(false);
popup.add(cutItemPop);
popup.add(copyItemPop);
popup.add(pasteItemPop);
getContentPane().addMouseListener(new MouseAdapter()
{
public void mouseReleased(MouseEvent event)
{
if(event.isPopupTrigger())
popup.show(event.getComponent(),event.getX(),event.getY());
}
});
}
private class ShowAction extends AbstractAction
{
public ShowAction(String name)
{
super(name);
}
public void actionPerformed(ActionEvent event)
{
if(event.getSource()==newItem||event.getSource()==openItem)
{
saveItem.setEnabled(true);
closeItem.setEnabled(true);
cutItem.setEnabled(true);
copyItem.setEnabled(true);
pasteItem.setEnabled(true);
forwardItem.setEnabled(true);
backwardItem.setEnabled(true);
cutItemPop.setEnabled(true);
copyItemPop.setEnabled(true);
pasteItemPop.setEnabled(true);
}
if(event.getSource()==closeItem)
{
saveItem.setEnabled(false);
closeItem.setEnabled(false);
cutItem.setEnabled(false);
copyItem.setEnabled(false);
pasteItem.setEnabled(false);
forwardItem.setEnabled(false);
backwardItem.setEnabled(false);
cutItemPop.setEnabled(false);
copyItemPop.setEnabled(false);
pasteItemPop.setEnabled(false);
}
myTextField.setText(getValue(Action.NAME)+"selected.");
}
}
public static void main(String[] args)
{
MenuUseDemo frame=new MenuUseDemo();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}