这是一个以JAVA编写的程序,本人还没有试过,是一个简单的温度控制系统

源代码在线查看: mapservospage.java

软件大小: 1258 K
上传用户: shkk21
关键词: JAVA 编写 程序 温度控制系统
下载地址: 免注册下载 普通下载 VIP

相关代码

				package net.sf.dz.setup.core;								import java.awt.event.ActionEvent;				import java.io.IOException;				import java.util.Iterator;				import java.util.LinkedList;				import java.util.List;				import java.util.Map;				import java.util.SortedSet;				import java.util.TreeMap;				import java.util.TreeSet;				import java.util.Vector;				import javax.swing.JButton;				import javax.swing.JList;				import javax.swing.ListSelectionModel;				import javax.swing.event.ListSelectionEvent;								import org.freehold.jukebox.logger.Logger;								import org.freehold.servomaster.device.model.Servo;				import org.freehold.servomaster.device.model.ServoController;								import net.sf.dz.util.wizard.DoubleListPanel;				import net.sf.dz.util.wizard.Wizard;				import net.sf.dz.util.wizard.WizardPage;								class MapServosPage extends WizardPage {								    private JList servoList;				    private JList zoneList;				    				    private JButton assignButton;				    private JButton detachButton;				    private JButton testButton;				    				    private DoubleListPanel dlp;				    				    public MapServosPage(Logger logger, Wizard owner) {				    				        super(logger, owner, "Map Servos to Temperature Zones");								        List buttonNames = new LinkedList();				        				        buttonNames.add("Assign >>");				        buttonNames.add("				        buttonNames.add("");				        buttonNames.add("< Test");				        				        dlp = new DoubleListPanel(getContentPane(), this,				                                  "Servos",				                                  "Temperature Zones",				                                  buttonNames);				        				        assignButton = dlp.getButton(0);				        detachButton = dlp.getButton(1);				        testButton = dlp.getButton(2);				        				        servoList = dlp.leftList;				        zoneList = dlp.rightList;				        				        servoList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);				        zoneList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);				        				        assignButton.setEnabled(false);				        detachButton.setEnabled(false);				    }								    public void activate() {								        SortedSet servoSet = getSortedContextValues("servo.");				        SortedSet zoneSet = getSortedContextValues("zone.");				        				        // Take care to preserve existing selection, if any				        				        Object selected = null;				        				        if ( servoList.getSelectedIndex() != -1 ) {				        				            selected = servoList.getSelectedValue();				        }				        				        servoList.setListData(new Vector(servoSet));				        				        if ( selected != null ) {				        				            servoList.setSelectedValue(selected, true);								        } else if ( !servoSet.isEmpty() ) {				        				            servoList.setSelectedIndex(0);				        }				        				        if ( zoneList.getSelectedIndex() != -1 ) {				        				            selected = zoneList.getSelectedValue();				        }				        				        zoneList.setListData(new Vector(zoneSet));				        				        if ( selected != null ) {				        				            zoneList.setSelectedValue(selected, true);								        } else if ( !zoneSet.isEmpty() ) {				        				            zoneList.setSelectedIndex(0);				        }				        				    }				    				    public String validate() {				    				        if ( !isVisible() ) {				        				            return "";				        }				    				        ServoDescriptor sd = null;				        ZoneDescriptor zd = null;								        if (servoList.getSelectedIndex() != -1) {				        				            sd =  (ServoDescriptor)servoList.getSelectedValue();				        }				        				        if (zoneList.getSelectedIndex() != -1) {				        				            zd = (ZoneDescriptor)zoneList.getSelectedValue();				        }				        				        assignButton.setEnabled(sd != null && zd != null				                             && sd.zone == null && zd.servo == null);				        detachButton.setEnabled(zd != null && zd.servo != null);				        testButton.setEnabled(sd != null);								        return "";				    }				    				    public boolean isEnabled() {				    				        return true;				    }				    				    public String getHelpURL() {				    				        return "FIXME";				    }				    				    public void actionPerformed2(ActionEvent e) {				        				        Object source = e.getSource();				        ServoDescriptor sd = (ServoDescriptor)servoList.getSelectedValue();				        ZoneDescriptor zd = (ZoneDescriptor)zoneList.getSelectedValue();				        				        if ( assignButton == source ) {				        				            sd.zone = zd;				            zd.servo = sd;				        				        } else if ( detachButton == source ) {				        				            zd.servo.zone = null;				            zd.servo = null;								        } else if ( testButton == source ) {				        				            try {				            				                sd.servo.setPosition(0);				                Thread.sleep(800);				                sd.servo.setPosition(1);				                Thread.sleep(800);				                sd.servo.setPosition(0.5);				                				            } catch ( Throwable t ) {				            				                complain(LOG_ERR, CH_WP, "Failed to test servo:", t);				            }				        }				        				        servoList.validate();				        zoneList.validate();				        				        servoList.repaint();				        zoneList.repaint();				    				    }				    				    public void valueChanged2(ListSelectionEvent e) {				    				    }				}							

相关资源