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

📄 commandpanel.java

📁 这是一个经典的程序
💻 JAVA
字号:
package kc.test.fuzzy;import kc.test.fuzzy.actions.FuzzyAbstractAction;import kc.test.SwingUtils;import java.awt.*;import javax.swing.*;import java.util.Hashtable;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{    public JSlider pointSlider, fuzzySlider, accuracySlider, clusterSlider;    public JButton initButton, startButton, stepButton, runButton, resetButton, printButton;    private Font font = new Font("serif", Font.PLAIN, 12);    public CommandPanel(Map<String, FuzzyAbstractAction> actions)    {        setLayout(new GridBagLayout());        setBorder(new TitledBorder(new EtchedBorder(), "Controls"));        TitledBorder tb = new TitledBorder(new EtchedBorder());        tb.setTitleFont(font);        tb.setTitle("Number of points");        pointSlider = new JSlider(JSlider.HORIZONTAL, 0, 50, 10);        pointSlider.setBorder(tb);        pointSlider.setMinimumSize(new Dimension(80,46));        pointSlider.setMajorTickSpacing(10);        pointSlider.setMinorTickSpacing(2);        pointSlider.setPaintTicks(true);        pointSlider.setPaintLabels(true);        SwingUtils.addToGridBag(this, pointSlider, 0, 0, 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,46));        clusterSlider.setMajorTickSpacing(9);        clusterSlider.setMinorTickSpacing(1);        clusterSlider.setPaintTicks(true);        clusterSlider.setPaintLabels(true);        SwingUtils.addToGridBag(this, clusterSlider, 0, 1, 2, 1, 1.0, 1.0);        tb = new TitledBorder(new EtchedBorder());        tb.setTitleFont(font);        tb.setTitle("Fuzzyness");        fuzzySlider = new JSlider(JSlider.HORIZONTAL, 11, 50, 20);        // Create the label table        Hashtable labelTable = new Hashtable();        labelTable.put( new Integer( 11 ), new JLabel("1.1") );        labelTable.put( new Integer( 20 ), new JLabel("2.0") );        labelTable.put( new Integer( 50 ), new JLabel("5.0") );        fuzzySlider.setLabelTable( labelTable );        fuzzySlider.setBorder(tb);        fuzzySlider.setMinimumSize(new Dimension(80,46));        fuzzySlider.setMajorTickSpacing(20);        fuzzySlider.setMinorTickSpacing(2);        fuzzySlider.setPaintTicks(true);        fuzzySlider.setPaintLabels(true);        SwingUtils.addToGridBag(this, fuzzySlider, 0, 2, 2, 1, 1.0, 1.0);        tb = new TitledBorder(new EtchedBorder());        tb.setTitleFont(font);        tb.setTitle("Accuracy");        accuracySlider = new JSlider(JSlider.HORIZONTAL, 1, 10, 3);        // Create the label table        labelTable = new Hashtable();        labelTable.put( new Integer( 1 ), new JLabel("0.1") );        labelTable.put( new Integer( 5 ), new JLabel("0.5") );        labelTable.put( new Integer( 10 ), new JLabel("1.0") );        accuracySlider.setLabelTable( labelTable );        accuracySlider.setBorder(tb);        accuracySlider.setMinimumSize(new Dimension(80,46));        accuracySlider.setMajorTickSpacing(5);        accuracySlider.setMinorTickSpacing(1);        accuracySlider.setPaintTicks(true);        accuracySlider.setPaintLabels(true);        SwingUtils.addToGridBag(this, accuracySlider, 0, 3, 2, 1, 1.0, 1.0);        initButton = new JButton(actions.get("Init"));        initButton.setFont(font);        SwingUtils.addToGridBag(this, initButton, 0, 4, 1, 1, 1.0, 1.0);        resetButton = new JButton(actions.get("Reset"));        resetButton.setFont(font);        SwingUtils.addToGridBag(this, resetButton, 1, 4, 1, 1, 1.0, 1.0);        startButton = new JButton(actions.get("Start"));        startButton.setFont(font);        SwingUtils.addToGridBag(this, startButton, 0, 5, 2, 1, 1.0, 1.0);        stepButton = new JButton(actions.get("Step"));        stepButton.setFont(font);        SwingUtils.addToGridBag(this, stepButton, 0, 6, 1, 1, 1.0, 1.0);        runButton = new JButton(actions.get("Run"));        runButton.setFont(font);        SwingUtils.addToGridBag(this, runButton, 1, 6, 1, 1, 1.0, 1.0);    }    public float getFuzzyness() {        return fuzzySlider.getValue() / 10.0f;    }    public float getAccuracy() {        return accuracySlider.getValue() / 10.0f;    }    public int getPoints() {        return pointSlider.getValue();    }    public int getClusters() {        return clusterSlider.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 + -