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

📄 checkboxdemo.java

📁 Java与面向对象程序设计实验教学讲义.复数类的实现,复数类的复杂运算,身份证号码的分析,图形界面设计
💻 JAVA
字号:
import java.awt.*;import java.awt.event.*;import javax.swing.*;public class CheckBoxDemo extends JPanel {    JCheckBox chinButton;    JCheckBox glassesButton;    JCheckBox hairButton;    JCheckBox teethButton;    /*     * Four accessory choices provide for 16 different     * combinations. The image for each combination is     * contained in a separate image file whose name indicates     * the accessories. The filenames are "geek-XXXX.gif"     * where XXXX can be one of the following 16 choices.     * The "choices" StringBuffer contains the string that     * indicates the current selection and is used to generate     * the file name of the image to display.             ----             // zero accessories             c---             // one accessory       -g--       --h-       ---t             cg--             // two accessories       c-h-       c--t       -gh-       -g-t       --ht             -ght             // three accessories       c-ht       cg-t       cgh-             cght             // all accessories     */    StringBuffer choices;    JLabel pictureLabel;    public CheckBoxDemo() {        // Create the check boxes        chinButton = new JCheckBox("Chin");        chinButton.setMnemonic(KeyEvent.VK_C);         chinButton.setSelected(true);        glassesButton = new JCheckBox("Glasses");        glassesButton.setMnemonic(KeyEvent.VK_G);         glassesButton.setSelected(true);        hairButton = new JCheckBox("Hair");        hairButton.setMnemonic(KeyEvent.VK_H);         hairButton.setSelected(true);        teethButton = new JCheckBox("Teeth");        teethButton.setMnemonic(KeyEvent.VK_T);         teethButton.setSelected(true);        // Register a listener for the check boxes.        CheckBoxListener myListener = new CheckBoxListener();        chinButton.addItemListener(myListener);        glassesButton.addItemListener(myListener);        hairButton.addItemListener(myListener);        teethButton.addItemListener(myListener);        // Indicates what's on the geek.        choices = new StringBuffer("cght");        // Set up the picture label        pictureLabel = new JLabel(new ImageIcon(                                        "./build/classes/geek/geek-"                                          + choices.toString()                                         + ".gif"));        pictureLabel.setToolTipText(choices.toString());        // Put the check boxes in a column in a panel        JPanel checkPanel = new JPanel();        checkPanel.setLayout(new GridLayout(0, 1));        checkPanel.add(chinButton);        checkPanel.add(glassesButton);        checkPanel.add(hairButton);        checkPanel.add(teethButton);        setLayout(new BorderLayout());        add(checkPanel, BorderLayout.WEST);        add(pictureLabel, BorderLayout.CENTER);        setBorder(BorderFactory.createEmptyBorder(20,20,20,20));    }    /** Listens to the check boxes. */    class CheckBoxListener implements ItemListener {        public void itemStateChanged(ItemEvent e) {            int index = 0;            char c = '-';            Object source = e.getItemSelectable();            if (source == chinButton) {                index = 0;                c = 'c';            } else if (source == glassesButton) {                index = 1;                c = 'g';            } else if (source == hairButton) {                index = 2;                c = 'h';            } else if (source == teethButton) {                index = 3;                c = 't';            }            if (e.getStateChange() == ItemEvent.DESELECTED)                c = '-';            choices.setCharAt(index, c);            pictureLabel.setIcon(new ImageIcon(                                        "./build/classes/geek/geek-"                                        + choices.toString()                                        + ".gif"));            pictureLabel.setToolTipText(choices.toString());        }    }    public static void main(String s[]) {         JFrame frame = new JFrame("CheckBoxDemo");         frame.addWindowListener(new WindowAdapter() {             public void windowClosing(WindowEvent e) {                 System.exit(0);             }         });          frame.setContentPane(new CheckBoxDemo());         frame.pack();         frame.setVisible(true);    }}

⌨️ 快捷键说明

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