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

📄 checkboxdemo.java

📁 it contains the practical programs in our college
💻 JAVA
字号:
package components;import java.awt.*;import java.awt.event.*;import javax.swing.*;/* * CheckBoxDemo.java requires 16 image files in the images/geek * directory:  * geek-----.gif, geek-c---.gif, geek--g--.gif, geek---h-.gif, geek----t.gif, * geek-cg--.gif, ..., geek-cght.gif. */public class CheckBoxDemo extends JPanel                          implements ItemListener {    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() {        super(new BorderLayout());        //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.        chinButton.addItemListener(this);        glassesButton.addItemListener(this);        hairButton.addItemListener(this);        teethButton.addItemListener(this);        //Indicates what's on the geek.        choices = new StringBuffer("cght");        //Set up the picture label        pictureLabel = new JLabel();        pictureLabel.setFont(pictureLabel.getFont().deriveFont(Font.ITALIC));        updatePicture();        //Put the check boxes in a column in a panel        JPanel checkPanel = new JPanel(new GridLayout(0, 1));        checkPanel.add(chinButton);        checkPanel.add(glassesButton);        checkPanel.add(hairButton);        checkPanel.add(teethButton);        add(checkPanel, BorderLayout.LINE_START);        add(pictureLabel, BorderLayout.CENTER);        setBorder(BorderFactory.createEmptyBorder(20,20,20,20));    }    /** Listens to the check boxes. */    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';        }        //Now that we know which button was pushed, find out        //whether it was selected or deselected.        if (e.getStateChange() == ItemEvent.DESELECTED) {            c = '-';        }        //Apply the change to the string.        choices.setCharAt(index, c);        updatePicture();    }    protected void updatePicture() {        //Get the icon corresponding to the image.        ImageIcon icon = createImageIcon(                                    "images/geek/geek-"                                    + choices.toString()                                    + ".gif");        pictureLabel.setIcon(icon);        pictureLabel.setToolTipText(choices.toString());        if (icon == null) {            pictureLabel.setText("Missing Image");        } else {            pictureLabel.setText(null);        }    }    /** Returns an ImageIcon, or null if the path was invalid. */    protected static ImageIcon createImageIcon(String path) {        java.net.URL imgURL = CheckBoxDemo.class.getResource(path);        if (imgURL != null) {            return new ImageIcon(imgURL);        } else {            System.err.println("Couldn't find file: " + path);            return null;        }    }    /**     * Create the GUI and show it.  For thread safety,     * this method should be invoked from the     * event-dispatching thread.     */    private static void createAndShowGUI() {        //Create and set up the window.        JFrame frame = new JFrame("CheckBoxDemo");        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        //Create and set up the content pane.        JComponent newContentPane = new CheckBoxDemo();        newContentPane.setOpaque(true); //content panes must be opaque        frame.setContentPane(newContentPane);        //Display the window.        frame.pack();        frame.setVisible(true);    }    public static void main(String[] args) {        //Schedule a job for the event-dispatching thread:        //creating and showing this application's GUI.        javax.swing.SwingUtilities.invokeLater(new Runnable() {            public void run() {                createAndShowGUI();            }        });    }}

⌨️ 快捷键说明

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