⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 actionexample.java

📁 java swing 开发代码
💻 JAVA
字号:
// ActionExample.java// An application that shows the Action class in, well, action.//package	jswing.ch05;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class ActionExample extends JFrame {  public static final int MIN_CHANNEL = 2;  public static final int MAX_CHANNEL = 13;  private int currentChannel = MIN_CHANNEL;  private int favoriteChannel = 9;  private JLabel channelLabel = new JLabel();  private Action upAction = new UpAction();  private Action downAction = new DownAction();  private GotoFavoriteAction gotoFavoriteAction = new GotoFavoriteAction();  private Action setFavoriteAction = new SetFavoriteAction();  public class UpAction extends AbstractAction {    public UpAction() {      putValue(NAME, "Channel Up");      putValue(SMALL_ICON, new ImageIcon("images/up.gif"));      putValue(SHORT_DESCRIPTION, "Increment the channel number");      putValue(MNEMONIC_KEY, new Integer(KeyEvent.VK_U));    }    public void actionPerformed(ActionEvent ae) {      setChannel(currentChannel+1);    }  }  public class DownAction extends AbstractAction {    public DownAction() {      putValue(NAME, "Channel Down");      putValue(SMALL_ICON, new ImageIcon("images/down.gif"));      putValue(SHORT_DESCRIPTION, "Decrement the channel number");      putValue(MNEMONIC_KEY, new Integer(KeyEvent.VK_D));    }    public void actionPerformed(ActionEvent ae) {      setChannel(currentChannel-1);    }  }  public class GotoFavoriteAction extends AbstractAction {    public GotoFavoriteAction() {      putValue(SMALL_ICON, new ImageIcon("images/fav.gif"));      putValue(MNEMONIC_KEY, new Integer(KeyEvent.VK_G));      updateProperties();    }    public void updateProperties() {      putValue(NAME, "Go to channel "+favoriteChannel);      putValue(SHORT_DESCRIPTION, "Change the channel to "+favoriteChannel);    }    public void actionPerformed(ActionEvent ae) {      setChannel(favoriteChannel);    }  }  public class SetFavoriteAction extends AbstractAction {    public SetFavoriteAction() {      putValue(NAME, "Set 'Go to' channel");      putValue(SMALL_ICON, new ImageIcon("images/set.gif"));      putValue(SHORT_DESCRIPTION,               "Make current channel the Favorite channel");      putValue(MNEMONIC_KEY, new Integer(KeyEvent.VK_S));    }    public void actionPerformed(ActionEvent ae) {      favoriteChannel = currentChannel;      gotoFavoriteAction.updateProperties();      setEnabled(false);      gotoFavoriteAction.setEnabled(false);    }  }  public ActionExample() {    super("ActionExample");        setChannel(currentChannel); // enable/disable the Actions as appropriate    channelLabel.setHorizontalAlignment(JLabel.CENTER);    channelLabel.setFont(new Font("Serif", Font.PLAIN, 32));    getContentPane().add(channelLabel, BorderLayout.NORTH);    JPanel buttonPanel = new JPanel(new GridLayout(2, 2, 16, 6));    buttonPanel.setBorder(BorderFactory.createEmptyBorder(6, 16, 16, 16));    getContentPane().add(buttonPanel, BorderLayout.CENTER);    buttonPanel.add(new JButton(upAction));    buttonPanel.add(new JButton(gotoFavoriteAction));    buttonPanel.add(new JButton(downAction));    buttonPanel.add(new JButton(setFavoriteAction));    JMenuBar mb = new JMenuBar();    JMenu menu = new JMenu("Channel");    menu.add(new JMenuItem(upAction));    menu.add(new JMenuItem(downAction));    menu.addSeparator();    menu.add(new JMenuItem(gotoFavoriteAction));    menu.add(new JMenuItem(setFavoriteAction));    mb.add(menu);    setJMenuBar(mb);  }  public void setChannel(int chan) {    currentChannel = chan;    channelLabel.setText("Now tuned to channel: "+currentChannel);    // enable/disable the Actions as appropriate    downAction.setEnabled(currentChannel > MIN_CHANNEL);    upAction.setEnabled(currentChannel < MAX_CHANNEL);    gotoFavoriteAction.setEnabled(currentChannel != favoriteChannel);      setFavoriteAction.setEnabled(currentChannel != favoriteChannel);    }  public static void main(String argv[]) {    JFrame f = new ActionExample();    f.setSize(400, 180);    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    f.setVisible(true);  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -