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

📄 circuitsimulatorpainterobject.java~

📁 Java遗传算法库
💻 JAVA~
字号:
/* * PainterObject.java * * Created on 30 July 2003, 16:50 */package es.pj.circuits.fpgaft;import es.Genotype;import es.control.InteractionModel;import es.pj.circuits.*;import islandev.EvolutionaryInteractiveTask;import islandev.SnapshotPainter;import java.util.Vector;import java.awt.Graphics;import javax.swing.JPanel;/** * * @author  mmg20 */public class CircuitSimulatorPainterObject implements SnapshotPainter {    // Constants    protected final int MAIN_POP = 0;        // Config/Working    protected CircuitPainter cp;    protected CircuitMapping mapping;    protected EvolutionaryInteractiveTask monica;    protected SimulatorLogicElement[][] inoutels;    protected int inputSampleSeparation = 50;    protected JPanel currParent;        /** Creates a new instance of PainterObject */    public CircuitSimulatorPainterObject(CircuitPainter cp, CircuitMapping mapping) {        this.cp = cp;        this.mapping = mapping;    }        public void setEvoTask( EvolutionaryInteractiveTask moni )    {        monica = moni;    }            public javax.swing.JComponent getPainter() {        JPanel rv = new JPanel();        //rv.setBackground(java.awt.Color.white);        initComponents( rv );        return rv;    }        /** This method is called from within the constructor to     * initialize the form.     * WARNING: Do NOT modify this code. The content of this method is     * always regenerated by the FormEditor.     */    private void initComponents( JPanel parent ) {        parent.setLayout(new java.awt.BorderLayout());        currParent = parent;        jPanel1 = new javax.swing.JPanel(){            public void paint( Graphics jpg )            {                Vector report = ( Vector ) monica.get( "GUI" );                Vector fittestV = ( Vector ) report.get( EvolutionaryInteractiveTask.REPORT_BEST_IND );                Genotype fittest = ( Genotype ) fittestV.get( MAIN_POP );                inoutels = mapping.map( fittest );                cp.paint( inoutels, jpg );            }        };        jPanel3 = new javax.swing.JPanel();        jLabel1 = new javax.swing.JLabel();        jPanel4 = new javax.swing.JPanel();        jLabel3 = new javax.swing.JLabel();        jPanel2 = new javax.swing.JPanel();        jLabel2 = new javax.swing.JLabel();        textInputs = new javax.swing.JTextField();        jButton1 = new javax.swing.JButton();        jLabel4 = new javax.swing.JLabel();        textFaultPos = new javax.swing.JTextField();        jLabel5 = new javax.swing.JLabel();        textFaultVal = new javax.swing.JTextField();        buttSetFault = new javax.swing.JButton();        jPanel1.setBackground(java.awt.Color.white);        jPanel1.setPreferredSize(new java.awt.Dimension(500, 500));        parent.add(jPanel1, java.awt.BorderLayout.CENTER);        jPanel3.setLayout(new java.awt.BorderLayout());        jLabel1.setText("Outs");        jPanel3.add(jLabel1, java.awt.BorderLayout.CENTER);        parent.add(jPanel3, java.awt.BorderLayout.WEST);        jLabel3.setText("Inputs (also below)");        jPanel4.add(jLabel3);        parent.add(jPanel4, java.awt.BorderLayout.NORTH);        jLabel2.setText("Inputs:");        jPanel2.add(jLabel2);        textInputs.setText("000000000");        textInputs.setName("textInputs");        jPanel2.add(textInputs);        jButton1.setText("Set Inputs & Run 50 time steps");        jButton1.setName("buttSetInputs");        jButton1.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                jButton1ActionPerformed(evt,currParent);            }        });        jPanel2.add(jButton1);        jLabel4.setText("Fault Pos.:");        jPanel2.add(jLabel4);        textFaultPos.setText("999");        jPanel2.add(textFaultPos);        jLabel5.setText("SSA:");        jPanel2.add(jLabel5);        textFaultVal.setText("0");        textFaultVal.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                textFaultValActionPerformed(evt);            }        });        jPanel2.add(textFaultVal);        buttSetFault.setText("Set Fault");        buttSetFault.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                buttSetFaultActionPerformed(evt);            }        });        jPanel2.add(buttSetFault);        parent.add(jPanel2, java.awt.BorderLayout.SOUTH);    }  private void textFaultValActionPerformed (java.awt.event.ActionEvent evt) {// Add your handling code here:  }  private void buttSetFaultActionPerformed (java.awt.event.ActionEvent evt) {        SimulatorLogicElement[] ins = inoutels[ 0 ];        SimulatorLogicElement[] outs = inoutels[ 1 ];        SimulatorFaultyDelayLE[] els = ( SimulatorFaultyDelayLE[] )inoutels[ 2 ];                        for( int el = 0; el < els.length; el++ )        {            els[ el ].setFault( es.pj.circuits.fpgaft.FTLib.NOFAULT );        }                String txtPos = textFaultPos.getText();        if( !txtPos.equals("") )        {            int pos = new Integer( txtPos ).intValue();            int val = textFaultVal.getText().charAt( 0 ) == '1' ? 1:0;            els[ pos ].setFault( val );        }          }  private void jButton1ActionPerformed (java.awt.event.ActionEvent evt, JPanel parent) {        SimulatorLogicElement[] ins = inoutels[ 0 ];        SimulatorLogicElement[] outs = inoutels[ 1 ];        SimulatorLogicElement[] els = inoutels[ 2 ];                    for( int il = 0; il < ins.length; il++ )        {            boolean ival = textInputs.getText().charAt( il ) == '1';            ins[ il ].setNow( ival );        }                for( int sdl = 0; sdl < inputSampleSeparation; sdl++ )        {            // Update state            for( int vl = 0; vl < els.length; vl++ )            {                els[ vl ].sampleInputs();            }            for( int vl = 0; vl < els.length; vl++ )            {                els[ vl ].refreshOutput();            }        }                parent.repaint();  }    // Variables declaration - do not modify    private javax.swing.JPanel jPanel4;    private javax.swing.JPanel jPanel3;    private javax.swing.JPanel jPanel2;    private javax.swing.JPanel jPanel1;    private javax.swing.JTextField textInputs;    private javax.swing.JButton jButton1;    private javax.swing.JTextField textFaultVal;    private javax.swing.JTextField textFaultPos;    private javax.swing.JButton buttSetFault;    private javax.swing.JLabel jLabel5;    private javax.swing.JLabel jLabel4;    private javax.swing.JLabel jLabel3;    private javax.swing.JLabel jLabel2;    private javax.swing.JLabel jLabel1;    // End of variables declaration        }

⌨️ 快捷键说明

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