featurebar.java

来自「Java的面向对象数据库系统的源代码」· Java 代码 · 共 74 行

JAVA
74
字号
package org.ozoneDB.adminGui.feature;import java.awt.*;import java.util.Iterator;import java.util.List;import javax.swing.*;import org.ozoneDB.adminGui.res.Settings;public class FeatureBar extends JPanel implements Settings {    private static final Dimension PANEL_DIMENSION = new Dimension(FEATURE_BAR_WIDTH, FEATURE_BAR_HEIGHT);    private List features;    public FeatureBar(List features) {        super();        this.features = features;        layoutPanel();    }    private void layoutPanel() {        setPreferredSize(PANEL_DIMENSION);        setMaximumSize(PANEL_DIMENSION);        setMinimumSize(PANEL_DIMENSION);        setLayout(new BorderLayout());        setBorder(BorderFactory.createLineBorder(COLOR_COBALT));        add(createFeatureButtonPanel(), BorderLayout.CENTER);    }    private JPanel createFeatureButtonPanel() {        JPanel panel = new JPanel();        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));        panel.setBackground(Color.WHITE);        //Always set down from the top of the bar        panel.add(Box.createRigidArea(new Dimension(70, 50)));        Iterator it = features.iterator();        while (it.hasNext()) {            Component strut = Box.createVerticalStrut(25);            Feature feature = (Feature) it.next();            FeatureButton featureButton = new FeatureButton(feature, strut);            feature.setFeatureButton(featureButton);            panel.add(featureButton);            panel.add(Box.createRigidArea(new Dimension(70, 15)));        }        //Leave all extra space at the bottom        panel.add(Box.createVerticalGlue());        return panel;    }    public void disableFeatures() {        Iterator it = features.iterator();        while (it.hasNext()) {            Feature feature = (Feature) it.next();            feature.setEnabled(false);        }    }    public void enableFeatures() {        Iterator it = features.iterator();        while (it.hasNext()) {            Feature feature = (Feature) it.next();            feature.setEnabled(true);        }    }}

⌨️ 快捷键说明

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