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

📄 commandpanel.java

📁 这是一个经典的程序
💻 JAVA
字号:
package kc.test.kmeans;import kc.test.kmeans.actions.KMeansAbstractAction;import kc.test.SwingUtils;import java.awt.*;import javax.swing.*;import java.util.Map;import javax.swing.border.TitledBorder;import javax.swing.border.EtchedBorder;/** * @author Thomas Neidhart, thomas.neidhart@gmail.com, all rights by Know-Center * Date: Aug 3, 2005 * * Command Panel */public class CommandPanel extends JPanel{    private String[] distributionNames = { "Normal" };    private JComboBox distributionCombo;    private JSlider devSliderX, devSliderY, nodeSlider, clusterSlider;    private JButton initButton, startButton, stepButton, runButton, resetButton;    private JCheckBox showHistory;    private Font font = new Font("serif", Font.PLAIN, 12);    /**     * Create a new command panel     * @param actions available action map     */    public CommandPanel(Map<String, KMeansAbstractAction> actions)    {        setLayout(new GridBagLayout());        setBorder(new TitledBorder(new EtchedBorder(), "Controls"));        JLabel l = new JLabel("Distribution Function");        l.setFont(font);        SwingUtils.addToGridBag(this, l, 0, 0, 2, 1, 0.0, 0.0);        distributionCombo = new JComboBox();        distributionCombo.setPreferredSize(new Dimension(120, 18));        distributionCombo.setLightWeightPopupEnabled(true);        distributionCombo.setFont(font);        for (int i = 0; i < distributionNames.length; i++) {            distributionCombo.addItem(distributionNames[i]);        }        //distributionCombo.addItemListener(this);        SwingUtils.addToGridBag(this, distributionCombo, 0, 1, 2, 1, 0.0, 0.0);        devSliderX = new JSlider(JSlider.HORIZONTAL, 0, 50, 10);        TitledBorder tb = new TitledBorder(new EtchedBorder());        tb.setTitleFont(font);        tb.setTitle("Standard Deviation X");        devSliderX.setBorder(tb);        devSliderX.setMinimumSize(new Dimension(80,56));        devSliderX.setMajorTickSpacing(10);        devSliderX.setMinorTickSpacing(2);        devSliderX.setPaintTicks(true);        devSliderX.setPaintLabels(true);        SwingUtils.addToGridBag(this, devSliderX, 0, 2, 2, 1, 1.0, 1.0);        devSliderY = new JSlider(JSlider.HORIZONTAL, 0, 50, 10);        tb = new TitledBorder(new EtchedBorder());        tb.setTitleFont(font);        tb.setTitle("Standard Deviation Y");        devSliderY.setBorder(tb);        devSliderY.setMinimumSize(new Dimension(80,56));        devSliderY.setMajorTickSpacing(10);        devSliderY.setMinorTickSpacing(2);        devSliderY.setPaintTicks(true);        devSliderY.setPaintLabels(true);        SwingUtils.addToGridBag(this, devSliderY, 0, 3, 2, 1, 1.0, 1.0);        nodeSlider = new JSlider(JSlider.HORIZONTAL, 0, 200, 30);        tb = new TitledBorder(new EtchedBorder());        tb.setTitleFont(font);        tb.setTitle("Number of nodes");        nodeSlider.setBorder(tb);        nodeSlider.setMinimumSize(new Dimension(80,56));        nodeSlider.setMajorTickSpacing(50);        nodeSlider.setMinorTickSpacing(10);        nodeSlider.setPaintTicks(true);        nodeSlider.setPaintLabels(true);        SwingUtils.addToGridBag(this, nodeSlider, 0, 4, 2, 1, 1.0, 1.0);        tb = new TitledBorder(new EtchedBorder());        tb.setTitleFont(font);        tb.setTitle("Number of clusters");        clusterSlider = new JSlider(JSlider.HORIZONTAL, 1, 20, 3);        clusterSlider.setBorder(tb);        clusterSlider.setMinimumSize(new Dimension(80,56));        clusterSlider.setMajorTickSpacing(9);        clusterSlider.setMinorTickSpacing(1);        clusterSlider.setPaintTicks(true);        clusterSlider.setPaintLabels(true);        SwingUtils.addToGridBag(this, clusterSlider, 0, 5, 2, 1, 1.0, 1.0);        showHistory = new JCheckBox(actions.get("Show history"));        SwingUtils.addToGridBag(this, showHistory, 0, 6, 2, 1, 0.0, 0.0);        initButton = new JButton(actions.get("Init"));        initButton.setFont(font);        SwingUtils.addToGridBag(this, initButton, 0, 7, 1, 1, 1.0, 1.0);        resetButton = new JButton(actions.get("Reset"));        resetButton.setFont(font);        SwingUtils.addToGridBag(this, resetButton, 1, 7, 1, 1, 1.0, 1.0);        startButton = new JButton(actions.get("Start"));        startButton.setFont(font);        SwingUtils.addToGridBag(this, startButton, 0, 8, 2, 1, 1.0, 1.0);        stepButton = new JButton(actions.get("Step"));        stepButton.setFont(font);        SwingUtils.addToGridBag(this, stepButton, 0, 9, 1, 1, 1.0, 1.0);        runButton = new JButton(actions.get("Run"));        runButton.setFont(font);        SwingUtils.addToGridBag(this, runButton, 1, 9, 1, 1, 1.0, 1.0);    }    public int getNodes() {        return nodeSlider.getValue();    }    public int getClusters() {        return clusterSlider.getValue();    }    public boolean getShowHistory() {        return (showHistory.getSelectedObjects() != null);    }    public int getDeviationX() {        return devSliderX.getValue();    }    public int getDeviationY() {        return devSliderY.getValue();    }    public Dimension getPreferredSize() {        return new Dimension(155,450);    }    public void setState(int state, int val) {        switch (state) {            case 1:                runButton.setEnabled(false);                stepButton.setEnabled(false);                resetButton.setEnabled(false);                startButton.setEnabled(false);                break;            case 2:                runButton.setText("Run");                runButton.setEnabled(false);                stepButton.setEnabled(false);                resetButton.setEnabled(false);                startButton.setEnabled(true);                break;            case 3:                runButton.setEnabled(false);                stepButton.setEnabled(false);                runButton.setText("Run");                break;            case 4:                resetButton.setEnabled(true);                runButton.setEnabled(true);                stepButton.setEnabled(true);                break;            case 5:                runButton.setText("Run: " + val + "x");                break;        }    }}

⌨️ 快捷键说明

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