Запрос в Java-обработке событий Swing - PullRequest
0 голосов
/ 21 декабря 2018

В приведенной ниже программе есть два класса DutBoardBuilder_1 и FCFS1.В классе FCFS1 у меня есть 2 события действия. Мне нужно, чтобы методы в классе DutBoardBuilder_1 выполнялись только после окончания второго события действия.Но у меня нет контроля над основной функцией класса DutBoardBuilder_1.Проблема в том, что после выполнения конструктора класса FCFS1 выполняется метод с именем build в классе FCFS1.Основная функция класса DutBoardBuilder_1 скрыта, я не могу ее редактировать, но я знал, что метод сборки определенно выполняется. В классе FCFS1 есть несколько специфических API в соответствии с проектом, поэтому, пожалуйста, не путайте с ним

Я не могу получить никакого представления об этом, так как основная функция класса DutBoardBuilder_1 не находится под моим контролем. Но я знал, что сборка метода определенно выполняется.

import xoc.ssf.IDutBd;
import xoc.ssf.ISSFContext;
import xoc.ssf.SSFFactory;
import xoc.ssf.dutbd.IFixtureDelayDefn;
import xoc.ssf.dutbd.IRoutingDefn;
import xoc.ssf.dutbd.IRoutingSiteDefn.UtilityLineState;
import xoc.ssf.dutbd.ISignalDefn;
import xoc.st8pg.DutboardBuilder;
import java.awt.Color;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;

@SuppressWarnings("deprecation")
public class DutBoardBuilder_1 extends DutboardBuilder implements
ActionListener {

    FCFS1 obj=new FCFS1();
    public DutBoardBuilder_1(String name)
    {
        super(name);
        System.out.println("the passed argument in the dut board builder is
                "+name); // name is common.dutboard
    }

    @SuppressWarnings("deprecation")
    //@Override
    public void build1() throws Exception {

        String outputDir = "/home/Dialog/workspace_8.1.2/exp/sarav/src";
        ISSFContext context = SSFFactory.createSSFContext(outputDir);
        IDutBd dutBdRW = SSFFactory.createDutBd(context, "foo");

        FCFS1 obj=new FCFS1();
        obj.setVisible(true);
        obj.setSize(400,400);
        System.out.println("End of the external Code");
        obj.setDefaultCloseOperation(3);

        //       ISSFContext context =
        SSFFactory.createSSFContext(getManager().getTargetPath());
        //       IDutBd dutBdRW = SSFFactory.createDutBd(context,
                "src.common.dutBoard");

        if(obj.ae.getSource()==obj.btn1)

        {
            ISignalDefn signal;

            IRoutingDefn rout;
            System.out.println("the real SMT-8 begins_1");
            // Set Number Of Sites.
            dutBdRW.setNumberOfSites(obj.sitecount);

            int set=obj.completeset;
            int sfactor=0,susedvalue=1,pfactor=1,pusedvalue=1,rfactor=3,
                    rusedvalue=1,forutilityset=0,forutilityset_1=0;
            int fixturedelay_int=0;

            System.out.println("the real SMT-8 begins");

            if(obj.lbrelaycount!=0)
            {
                for(int j=0;j<obj.sitecount;j++)
                {
                    int krc_1=0;

                    for(int k=0;k<obj.lbrelaycount;k++)
                    {
                        System.out.println("loardboardrelay details");
                        dutBdRW.addUtilityLine(obj.texts.get
                                (krc_1+obj.lbrelaycount+forutilityset_1))
                        .setPogo(obj.texts.get(obj.lbrelaycount+krc_1+1+forutilityset_1));
                        krc_1=krc_1+2;
                    }
                    forutilityset_1=forutilityset_1+set;
                }
            }

            if(obj.texts.get(1+obj.lbrelaycount*2+2).length()>0)
            {
                fixturedelay_int=1;

            }

            for(int i=0;i<obj.pincount;i++)
            {
                signal=dutBdRW.addSignal(obj.texts.get(sfactor));
                rout=signal.setRouting();

                for(int j=0;j<obj.sitecount;j++)
                {

                    signal.addSite(j).setPogo(obj.texts.get(pfactor));
                    pfactor = 1+pusedvalue*set;
                    pusedvalue++;
                }

                for(int j=0;j<obj.sitecount;j++)
                {
                    int krc=0;

                    for(int k=0;k<obj.lbrelaycount;k++)
                    {
                        rout.addSite(j).
                        addUtilityLineState(obj.texts.get(krc+obj.lbrelaycount+forutilityset),
                                UtilityLineState.valueOf(obj.texts.get(obj.lbrelaycount+krc+1+
                                        forutilityset)));
                        krc=krc+2;
                    }

                    forutilityset=forutilityset+set;
                }

                if(fixturedelay_int==1)
                {
                    IFixtureDelayDefn fixtureDelay =
                            dutBdRW.addFixtureDelayProperty();
                    for(int m=0;m<obj.sitecount;m++)
                    {
                        int ffactor=0;
                        fixtureDelay.addSignal(obj.texts.get(sfactor))
                        .addSite(m).
                        setFixtureDelay(obj .texts.get(3+obj.lbrelaycount*2+ffactor));
                        ffactor=ffactor+set;
                    }
                }
                sfactor=susedvalue*set*obj.sitecount;
                susedvalue++;
            }
            dutBdRW.commitChanges();
        }
    }
}

class FCFS1 extends JFrame implements ActionListener{
    JButton btn1,btn2,b,btnCount;
    JTextField tf1,tf2,textField_2,tfdevicedet,tfdevicever,
    tftedet,tfsiteinfo,tfpincount,tfrelayinfo;
    JPanel p,pa1;
    Container c;
    JPanel p1 = new JPanel();
    JLabel lblheading,lbldeviceinfo,lbldeviceversion,
    lblteinfo,lblCount,lbpininfo,lbrelayinfo;
    ArrayList<JTextField> arr=new ArrayList<>();
    ArrayList<String> texts=new ArrayList<>(100);
    int pincount;
    int sitecount,lbrelaycount,completeset;
    ActionEvent ae;

    public FCFS1(){
        //super("FCFS");
        System.out.println("Constructor beginning");
        setLayout(null);
        p=new JPanel();
        lblheading = new JLabel("Dut Board File Generator");
        lblheading.setBounds(120,0,180,70);
        add(lblheading);

        lbldeviceinfo = new JLabel("<html><br>Enter the Device
                Information</html>");
                lbldeviceinfo.setBounds(0,40,190,40);
                add(lbldeviceinfo);

                tfdevicedet = new JTextField(1);
                tfdevicedet.setBounds(200,57,150,20);
                add(tfdevicedet);

                lbldeviceversion = new JLabel("Enter the Device Version");
                lbldeviceversion.setBounds(0,70,200,40);
                add(lbldeviceversion);

                tfdevicever = new JTextField(1);
                tfdevicever.setBounds(200,80,150,20);
                add(tfdevicever);

                lblteinfo = new JLabel("Enter the TE Name");
                lblteinfo.setBounds(0,100,150,40);
                add(lblteinfo);

                tftedet = new JTextField(1);
                tftedet.setBounds(200,110,150,20);
                add(tftedet);

                lblCount = new JLabel("Enter the Number of Sites");
                lblCount.setBounds(0,140,190,30);
                add(lblCount);

                tfsiteinfo =new JTextField(1);
                tfsiteinfo.setBounds(200,145,20,20);
                add(tfsiteinfo);


                lbpininfo = new JLabel("Enter the Number of pins");
                lbpininfo.setBounds(0,165,180,30);
                add(lbpininfo);

                tfpincount =new JTextField(1);
                tfpincount.setBounds(200,170,20,20);
                add(tfpincount);

                lbrelayinfo = new JLabel("<html>Enter the Number of<br> Load
                        Board Relays</html>");
                        lbrelayinfo.setBounds(0,195,300,30);
                        add(lbrelayinfo);

                        tfrelayinfo =new JTextField(1);
                        tfrelayinfo.setBounds(200,200,20,20);
                        add(tfrelayinfo);

                        c=getContentPane();

                        btnCount = new JButton("Confirm");
                        btnCount.setBounds(160,247, 90, 25);
                        btnCount.addActionListener(this);
                        add(btnCount);
                        c.add(p);

                        System.out.println("Constructor ends");
    }

    public static void main(String args[]){
    }
    @Override
    public void actionPerformed(ActionEvent ae)
    {

        if(ae.getSource()==btnCount)
        {
            System.out.println("1st action event begins");

            lbrelaycount=
                    Integer.parseInt(tfrelayinfo.getText());

            sitecount = Integer.parseInt(tfsiteinfo.getText());

            System.out.println(sitecount);

            completeset=11+(lbrelaycount*2);

            pincount=Integer.parseInt(tfpincount.getText());
            setLayout(null);
            p.setLayout(new GridLayout(0,11+(lbrelaycount*2)));

            JTextField textField= new JTextField("Pin Names",1);
            textField.setEditable(false);
            textField.setBackground(Color.CYAN);
            p.add(textField);

            JTextField textField_1 =new JTextField("PogoNumber",1);
            textField_1.setEditable(false);
            textField_1.setBackground(Color.CYAN);
            p.add(textField_1);

            for(int j=0;j<lbrelaycount;j++)
            {

                JTextField textField_3 =new JTextField("Board Relay
                    ="+j,7);
                    textField_3.setEditable(false);
                    p.add(textField_3);

                    JTextField textField_13 =new JTextField("Board Relay Pogo
                            No "+j,13);
                            textField_13.setEditable(false);
                            p.add(textField_13);
            }

            JTextField textField_4 =new JTextField("Settling
                    Time",1);
                    textField_4.setEditable(false);
                    p.add(textField_4);

                    JTextField textField_5 =new JTextField("Fixture
                            Delay",1);
                            textField_5.setEditable(false);
                            p.add(textField_5);

            JTextField textField_6 =new JTextField("Dut Impedance
            AC",9);
            textField_6.setEditable(false);
            p.add(textField_6);

            JTextField textField_7 =new JTextField("Dut Impedance
            DC",9);
            textField_7.setEditable(false);
            p.add(textField_7);

            JTextField textField_8 =new JTextField("iForceMax
            (A)",1);
            textField_8.setEditable(false);
            p.add(textField_8);

            JTextField textField_9 =new JTextField("iForceMin
            (A)",1);
            textField_9.setEditable(false);
            p.add(textField_9);

            JTextField textField_10 =new JTextField("vForceMax
            (V)",1);
            textField_10.setEditable(false);
            p.add(textField_10);

            JTextField textField_11 =new JTextField("vForceMin
            (V)",1);
            textField_11.setEditable(false);
            p.add(textField_11);

            JTextField textField_12 =new JTextField("Capacitance
                    (F)",1);
                    textField_12.setEditable(false);
                    p.add(textField_12);

            for (int j=0;j<pincount*(11+
                    (lbrelaycount*2))*sitecount;j++)

            {
                textField_2 = new JTextField(4);
                p.add( textField_2 );
                arr.add(textField_2);
            }

            JScrollPane taScroll = new JScrollPane(p);
            taScroll.setHorizontalScrollBarPolicy
            (JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
            taScroll.setVerticalScrollBarPolicy
            (JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
            taScroll.setBounds(5,300,1700,200);
            add(taScroll);

            btn1 =new JButton("Generate");
            add(btn1);
            btn1.setBounds(600,520,110,50);
            btn1.addActionListener(this);
            revalidate();
            repaint();

            setSize(1700, 1400);
        }

        if(ae. getSource()==btn1)
        {

            System.out.println("Second Action event begins");

            for (Object textField : arr) {
                texts.add(((JTextField)textField).getText());
            }

            System.out.println("the size of text array is"+texts.size());
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...