сделать Java SingleFrameApplication, чтобы появиться вторым - PullRequest
0 голосов
/ 28 марта 2010

Извините, если этот вопрос будет звучать слишком хаотично, не стесняйтесь редактировать его.

У меня есть приложение, созданное полностью в NetBeans, которое использует SingleFrameApplication и автоматически сгенерировало код GUI с именем «MyApp» и FrameView с именем «MyView». Теперь в MyApp почему-то есть функция main (), но в MyView есть все графические элементы.

Я не совсем понимаю, как это происходит, поэтому использовал его как черный ящик (он каким-то образом создал окно, мне было все равно, почему). Но теперь мне нужно, чтобы окно было только окном, открытым другим JFrame. Я не знаю, как этого добиться.

MyApp, который расширяет SingleFrameApplication, имеет следующие методы:

public class MyApp extends SingleFrameApplication {

    @Override protected void startup() {
        show(new MyView(this));
    }

    @Override protected void configureWindow(java.awt.Window root) {
    }

    public static MyApp getApplication() {
        return Application.getInstance(MyApp.class);
    }

    public static void main(String[] args) {
       launch(MyApp.class, args);

    }
}

MyView имеет следующие методы:

public class MyView extends FrameView {

    public MyView(SingleFrameApplication app) {
        super(app);
        initComponents();
    }
    private void initComponents() {
        //all the GUI stuff is somehow defined here
    }
}

Теперь я понятия не имею, как работают два класса, я просто хочу, чтобы это окно, определенное в MyView, появилось после другого окна, «обычного» JFrame. Как я могу назвать это MyApp / MyView?

1 Ответ

1 голос
/ 28 марта 2010

Но теперь мне нужно, чтобы окно было только окном, открытым другим JFrame. Я не знаю, как этого добиться.

1.) Это не просто окно - это Приложение Swing Framework (Ах, Опасности строителей GUI ...); и -

2.) Вы не указали, как вы хотите он "открыт другим JFrame";

но что-то вроде этого должно работать, если вы запускаете его через JButton -

JButton launchMyApp = new JButton("launch");
launchMyApp.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
        String[] args = {};
        Application.launch(MyApp.class, args);
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...