Вызов отдельного файла Java для открытия второго окна графического интерфейса - PullRequest
2 голосов
/ 01 августа 2011

В настоящее время у меня есть файл Java, в котором есть кнопки для создания новых окон графического интерфейса. У меня есть второй файл Java, который находится в том же проекте, который я хотел бы открыть, когда пользователь нажимает определенную кнопку. Во втором файле есть все компоненты, которые нужно добавить, и его просто нужно инициировать в моем «Основном Java-файле» (файл один). Как я могу это сделать? (вызов и вызов и создание экземпляра второго Java-файла без создания метода).

Любые комментарии или предложения приветствуются.

Спасибо!

Ответы [ 4 ]

1 голос
/ 01 августа 2011

Поскольку этот пост еще не помечен как решенный, я полагаю, вы не нашли решение этой проблемы.Только 2 вещи могут быть не правы здесь.Либо ваш второй класс не так, либо ваш слушатель не так.Все, что вам нужно, чтобы убедиться, что ваш «второй кадр» отображается, это добавить setVisible (true) и создать новый объект вашего второго класса, как указано в предыдущих постах.

Это то, что вывторой класс должен создать пустое окно:

public class MySecondClass extend JFrame{

   public MySecondClass(){
        setSize(200, 200);
        setVisible(true);
        //additional calls
     }
}

, и ваш слушатель должен быть таким, как показано ниже в конструкторе вашего основного класса:

theButton.addActionListener(new buttonListener());

и, наконец, добавить следующее как внутреннийкласс в вашем основном классе:

public class buttonListener implements ActionListener{
        public void actionPerformed(ActionEvent e){
                new MySecondClass();
          }
}

, если вы все еще не можете заставить свой код работать, добавьте линию печати в конструкторе вашего второго класса, и одну в своем классе слушателя, чтобы вы могли выяснить, какая частьнеисправен

1 голос
/ 01 августа 2011

Вы должны создать метод для одного и того же, скажем, у вас есть два файла, например. файл1 и файл2 Вы должны перейти от файла1 к ​​файлу2 по нажатию кнопки в файле1.

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
{
file2 f2 = new file2();
this.dispose(); //closes current file
f1.seVisible(true); //opens the next file
}
1 голос
/ 01 августа 2011

Вы не дали достаточно информации. У Java есть больше чем одна библиотека GUI, Swing и SWT - те, которые немедленно приходят на ум. Если вы используете Swing и ваш «файл второго класса», который вы хотите показать, расширяет JPanel, то вы можете создать новый YourSecondClass () и добавить его в свой JFrame. В Swing все компоненты должны быть добавлены в контейнер, поэтому ваш второй класс должен либо БЫТЬ контейнером (например, JPanel), либо компоненты вашего второго класса могут быть добавлены в существующий контейнер.

1 голос
/ 01 августа 2011

Хм, я не знаю, правильно ли я понимаю, но вы хотите создавать окна при нажатии на кнопку?

Попробуйте это:

new GUIConstructorNameHere.setVisible(true);

PS: GUIConstructorName - этометод конструктора класса, который вы хотите показать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...