如何在已经扩展Thread的类中扩展JFrame

Kev*_*vik 2 java inheritance swing jframe

我有一个扩展Thread的类,需要在同一个类上扩展JFrame.由于Java中不可能进行多重继承,如何在已经扩展Thread的类中使用JFrame对象?

Cyr*_* Ka 13

使用合成,而不是扩展JFrame或Thread,它的限制要少得多:

public class MyApplication {
    JFrame applicationFrame;

    Thread someThread;

    MyApplication() {
        SwingUtilities.invokeLater(new Runnable() {
            @Override void run() {
                applicationFrame = new JFrame();

                // some more GUI initialization.
                applicationFrame.setVisible(true);
            }
        });

        someThread = new Thread(new Runnable() {
            @Override void run() {
                // do my work.
            }
        });

        someThread.start();
    }

    public static void main(String... args) {

        new MyApplication();
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 有票!1+投票,但希望它可能是100+ (2认同)