控制JFrame其他无效?

时间:2017-06-29 11:35:39

标签: java class jframe void

我想控制来自" PART3"的JFrame任何帮助? StackOverFlow要求更多信息;)所以我的想法是在PART3 g.f我知道这是错的所以任何帮助

import java.io.IOException;
import javax.swing.JFrame;

public class test {
    public static void main(String[] args) throws IOException{
        SetUp g =new SetUp();
        g.PART2(); 
        g.PART3();       

}}

class SetUp {
    void PART2()throws IOException{
        JFrame f = new JFrame();

        f.setTitle("Test");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //    System.out.println(f);
    }

    void PART3()throws IOException{    
        SetUp g =new SetUp();
       g.f.setSize(128,128);
       g.f.setLocation(10,10);
       g.f.setVisible(true);

       //    System.out.println(g.f);
    }
}

所以我的想法是在PART3 g.f我知道这是错的,所以任何帮助

1 个答案:

答案 0 :(得分:1)

f必须是字段才能以其他方式访问它。

class SetUp {

    private JFrame f; // `f` is now an instance field of the SetUp class

    void PART2()throws IOException {
        f = new JFrame();
        f.setTitle("Test");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    void PART3()throws IOException{
        // SetUp g =new SetUp();
        // you can directly access 'f' here, there's no need to create a new object

        f.setSize(128,128);
        f.setLocation(10,10);
        f.setVisible(true);
    }
}