У меня есть этот класс, скажем, Foo
.Этот класс отвечает за создание / отображение JFrame
, для чего требуется настройка heavy .
public class Foo{
private static JFrame frame;
public static void createAndShowFrame(){
//do stuff
}
public static JFrame getFrame(){
return frame;
}
}
И у меня есть другой класс, скажем, Launcher
, который служит точкой входа в приложение.Этот класс отвечает за начало построения графического интерфейса пользователя
public class Launcher{
public static void main(String[] args){
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run(){
Foo.createAndShowFrame();
}
});
}
}
. Проблема проектирования getFrame()
.Этот метод был необходим, потому что другие диалоги требуют этого в качестве родительского фрейма.К сожалению, это обнажает фрейм и, по-видимому, аннулирует метод статической утилиты.
Я предполагаю, что мой вопрос заключается в том, есть ли более рациональный подход к дизайну?Имею ли я какой-то смысл?Я в основном хотел создать и показать кадр без необходимости extend
.
См. Мой Правило большого пальца вопрос.