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

📄 unitpanel.java

📁 这是一个以JAVA编写的程序,本人还没有试过,是一个简单的温度控制系统
💻 JAVA
字号:
package net.sf.dz.view.tcp.client;import java.awt.GridBagLayout;import java.awt.GridBagConstraints;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import java.util.StringTokenizer;import java.util.TreeMap;import java.util.TreeSet;import javax.swing.BorderFactory;import javax.swing.JPanel;import org.freehold.jukebox.logger.LogAware;import org.freehold.jukebox.logger.LogChannel;public class UnitPanel extends LogAware {    public final LogChannel CH_UP;        private ClientDaemon daemon;    private Map zone2panel = new TreeMap();        private String unitName;    private final String prefix;    private JPanel panel;    private HvacPanel hvacPanel;    private GridBagLayout layout = new GridBagLayout();    private GridBagConstraints cs = new GridBagConstraints();        public UnitPanel(ClientDaemon daemon, String unitName) {            CH_UP = new LogChannel("Unit/" + unitName);                this.daemon = daemon;        this.unitName = unitName;                prefix = "unit:" + unitName + ":";                panel = new JPanel();        panel.setLayout(layout);    }        public JPanel getPanel() {            return panel;    }        protected void configure() throws Throwable {            List zoneNames = getConfiguration().getList(getConfigurationRoot() + ".zone");                complain(LOG_INFO, CH_UP, "Zones: " + zoneNames);                cs.gridx = 0;        cs.gridy = 0;        cs.fill = GridBagConstraints.BOTH;        cs.weightx = 1;        cs.weighty = 1;        cs.gridwidth = 1;                hvacPanel = new HvacPanel(daemon, unitName);                layout.setConstraints(hvacPanel, cs);        panel.add(hvacPanel);                cs.gridx = 0;        cs.gridy++;                Set zoneSet = new TreeSet();                for ( Iterator i = zoneNames.iterator(); i.hasNext(); ) {                    String zoneName = i.next().toString();            zoneSet.add(zoneName);                        ZonePanel zonePanel = new ZonePanel(this, zoneName);                        zonePanel.setLogger(getLogger());            zonePanel.configure(getConfigurationRoot() + ".zone." + zoneName, getConfiguration());            zone2panel.put(zoneName, zonePanel);                        layout.setConstraints(zonePanel.getPanel(), cs);            panel.add(zonePanel.getPanel());                        cs.gridy++;        }                hvacPanel.setZones(zoneSet);    }        public void parse(StringTokenizer st) throws Throwable {            String target = st.nextToken();                if ( "zone".equals(target) ) {                    String zoneName = st.nextToken();            ZonePanel zonePanel = (ZonePanel)zone2panel.get(zoneName);                        if ( zonePanel == null ) {                            throw new IllegalArgumentException("Non-existent zone: '" + zoneName + "'");            }                        zonePanel.parse(st);                } else if ( "ac".equals(target) ) {                    hvacPanel.parse(st);                    } else {                    throw new IllegalArgumentException("Unsupported target: '" + target + "'");        }            }        public String getName() {            return unitName;    }        public synchronized void send(String command) {            daemon.send(prefix + command);    }        public void setHvacGraph(boolean enabled) {            hvacPanel.setHvacGraph(enabled);    }    public void setZoneGraph(boolean enabled) {            hvacPanel.setZoneGraph(enabled);    }    public void setPConGraph(boolean enabled) {            for ( Iterator i = zone2panel.keySet().iterator(); i.hasNext(); ) {                Object name = i.next();            ZonePanel zp = (ZonePanel)zone2panel.get(name);                        zp.setPConGraph(enabled);        }    }    public void setDamperGraph(boolean enabled) {            for ( Iterator i = zone2panel.keySet().iterator(); i.hasNext(); ) {                Object name = i.next();            ZonePanel zp = (ZonePanel)zone2panel.get(name);                        zp.setDamperGraph(enabled);        }    }}

⌨️ 快捷键说明

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