数据更改&在三个类之间的运行时传输

时间:2017-05-01 17:16:42

标签: java swing class variables data-transfer

我制作了三个课程DataTransfer, RetrieveData and StudSAllR两个课程RetrieveData and StudSAllRJFrame Form

DataTransfer类:

我在变量integer的DataTransfer类中创建了一个数据成员(Select),并创建了两个方法getSelect()setSelect(int Select1),代码如下:

class DataTransfer {
     int Select;
     public void setSelect(int Select1){
          Select=Select1;
     }
    public int getSelect(){
         return Select;
    }
}

RetrieveData类:

在这个类中我有两个按钮jButton2jButton4,在这两个按钮的ActionListener下,它们都是通过调用setSelect()方法设置DataTransfer类的对象并设置值。 1}}在jButton2中为1,在jButton4中为0,在设置值后,两个按钮都指向第三类StudSAllR,下面是给出的代码:

0 & 1

StudSAllR课程:

在这个类下,我正在制作DataTransfer的对象,现在通过调用getSelect方法返回选择值,但是,

问题是它只返回0值,我按jButton2或jButton4它返回0

我还在两个按钮的ActionListener中设置private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) { DataTransfer DT = new DataTransfer(); DT.setSelect(0); System.out.println(DT.getSelect()+"RD"); StudSAllR.main(new String[0]); } private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { DataTransfer DT = new DataTransfer(); DT.setSelect(1); System.out.println(DT.getSelect()+"RD"); StudSAllR.main(new String[0]); } ,为jButton2返回值1,为jButton4返回0

当我在第3课中调用这个get方法时,它只返回零,请大家帮忙!!

1 个答案:

答案 0 :(得分:0)

这是因为您在按钮的动作侦听器中构造的DataTransfer对象是这些方法的本地对象。它们的寿命仅限于该方法的范围。如果要在不同的类中使用设置值,则有不同的方法。

  1. 1/2个对象传递给其他类DataTransfer的方法,但之后您无法使用StudSAllR,因为main()应该仅接受main()所以创建一个新的静态方法,可能叫做String... args

    processDataTransfer()
  2. public static void processDataTransfer( String... args, DataTransfer dt ) { int select = dt.getSelect(); } 中设置Select静态,并使DataTransfergetSelect()为静态,然后您无需在按钮的动作侦听器中初始化该类。只需:setSelect(int select)

  3. DataTransfer.setSelect(1);电话StudSAllR.main(String... args)中:

    getSelect()

    1,2之间的选择实际上取决于您的要求。