import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FirstSample{
public static void main(String[] args){
MenuFrame frame=new MenuFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class MenuFrame extends JFrame{
public MenuFrame(){
setTitle("MenuList");
setSize(WIDTH,HEIGHT);
JMenu fileMenu=new JMenu("file");
fileMenu.add(new TestAction("New"));
JMenuItem openItem=fileMenu.add(new TestAction("Open"));
openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_MASK));
fileMenu.addSeparator();
saveAction=new TestAction("Save");
JMenuItem saveItem=fileMenu.add(saveAction);
saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK));
saveAsAction=new TestAction("Save As");
JMenuItem saveAsItem=fileMenu.add(saveAsAction);
fileMenu.addSeparator();
fileMenu.add(new
AbstractAction("Exit"){
public void actionPerformed(ActionEvent event){
System.exit(0);
}
});
Action cutAction=new TestAction("Cut");
cutAction.putValue(Action.SMALL_ICON, new ImageIcon("cut.gif"));
Action copyAction=new TestAction("Copy");
copyAction.putValue(Action.SMALL_ICON, new ImageIcon("copy.gif"));
Action pasteAction=new TestAction("Paste");
pasteAction.putValue(Action.SMALL_ICON, new ImageIcon("paste.gif"));
JMenu editMenu=new JMenu("Edit");
editMenu.add(cutAction);
editMenu.add(copyAction);
editMenu.add(pasteAction);
readOnlyItem=new JCheckBoxMenuItem("Read-only");
readOnlyItem.addActionListener(new
ActionListener(){
public void actionPerformed(ActionEvent event){
boolean saveOk=!readOnlyItem.isSelected();
saveAction.setEnabled(saveOk);
saveAsAction.setEnabled(saveOk);
}
});
ButtonGroup group=new ButtonGroup();
JRadioButtonMenuItem insertItem=new JRadioButtonMenuItem("Insert");
insertItem.setSelected(true);
JRadioButtonMenuItem overtypeItem=new JRadioButtonMenuItem("Overtype");
group.add(insertItem);
group.add(overtypeItem);
JMenu optionMenu=new JMenu("Options");
optionMenu.add(readOnlyItem);
optionMenu.addSeparator();
optionMenu.add(insertItem);
optionMenu.add(overtypeItem);
editMenu.addSeparator();
editMenu.add(optionMenu);
JMenu helpMenu=new JMenu("Help");
helpMenu.setMnemonic('H');
JMenuItem indexItem=new JMenuItem("Index");
indexItem.setMnemonic('I');
helpMenu.add(indexItem);
Action aboutAction=new TestAction("About");
aboutAction.putValue(Action.MNEMONIC_KEY, new Integer('A'));
helpMenu.add(aboutAction);
JMenuBar menuBar=new JMenuBar();
setJMenuBar(menuBar);
menuBar.add(fileMenu);
menuBar.add(editMenu);
menuBar.add(helpMenu);
popup=new JPopupMenu();
popup.add(cutAction);
popup.add(copyAction);
popup.add(pasteAction);
panel=new JPanel();
panel.setComponentPopupMenu(popup);
add(panel);
panel.addMouseListener(new MouseAdapter() {});
Action redAction=new ColorAction("Red",new ImageIcon("red.gif"),Color.RED);
Action greenAction=new ColorAction("Green",new ImageIcon("green.gif"),Color.GREEN);
Action blueAction=new ColorAction("Blue",new ImageIcon("blue.gif"),Color.BLUE);
Action exitAction=new AbstractAction("Exit",new ImageIcon("exit.gif")){
public void actionPerformed(ActionEvent event){
System.exit(0);
}
};
JToolBar toolBar=new JToolBar();
toolBar.add(redAction);
toolBar.add(greenAction);
toolBar.add(blueAction);
toolBar.addSeparator();
toolBar.add(exitAction);
add(toolBar,BorderLayout.NORTH);
JMenu colorMenu=new JMenu("Color");
colorMenu.add(redAction);
colorMenu.add(greenAction);
colorMenu.add(blueAction);
colorMenu.add(exitAction);
menuBar.add(colorMenu);
}
public static final int WIDTH=600;
public static final int HEIGHT=400;
private Action saveAction;
private Action saveAsAction;
private JCheckBoxMenuItem readOnlyItem;
private JPopupMenu popup;
private JPanel panel;
class ColorAction extends AbstractAction{
public ColorAction(String name,Icon icon,Color c){
putValue(Action.NAME,name);
putValue(Action.SMALL_ICON,icon);
putValue(Action.SHORT_DESCRIPTION,name+" background");
putValue("Color",c);
}
public void actionPerformed(ActionEvent event){
Color c=(Color) getValue("Color");
panel.setBackground(c);
}
}
}
class TestAction extends AbstractAction{
public TestAction(String name){
super(name);
}
public void actionPerformed(ActionEvent event){
System.out.println(getValue(Action.NAME)+" selected.");
}
}
窗口菜单栏工具栏
最新推荐文章于 2023-02-01 20:21:35 发布