Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Java. Вызов другого класса с помощью кнопки.

Артём Ыукенргш Ученик (110), на голосовании 6 месяцев назад
Здравствуйте, мне нужно помощь с запуском окна в классе класса jan, при нажатии кнопки окна, находящегося в классе Main.

Вот код окна:

JFrame win = new JFrame("Календарь");
win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
win.setVisible(true);
win.setSize(600, 600);
win.getContentPane().setLayout(null);

Вот код кнопки:

but1.setText("Январь");
but1.setSize(100, 100);
but1.setLocation(0, 0);
ActionListener List1 = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {


}
};
but1.addActionListener(List1);
Голосование за лучший ответ
Twelve Мудрец (12782) 7 месяцев назад
Для вызова окна из другого класса, в данном случае из класса jan, при нажатии кнопки в классе Main, вам нужно сначала создать экземпляр класса jan и вызывать его метод отображения окна.

Вот как вы можете это сделать:

1. В классе jan создайте метод для отображения окна:

public void displayWindow() {
JFrame win = new JFrame("Календарь");
win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
win.setSize(600, 600);
win.getContentPane().setLayout(null);
win.setVisible(true);
}


2. В классе Main создайте экземпляр класса jan и добавьте слушателя кнопки, который вызовет метод отображения окна при нажатии:

jan janInstance = new jan();

but1.setText("Январь");
but1.setSize(100, 100);
but1.setLocation(0, 0);
ActionListener List1 = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
janInstance.displayWindow();
}
};
but1.addActionListener(List1);


Теперь, при нажатии на кнопку "Январь" в классе Main будет вызываться метод displayWindow() из класса jan, который отобразит новое окно "Календарь".

Надеюсь, это поможет вам решить вашу проблему. Если у вас есть дополнительные вопросы, не стесняйтесь задавать.
Похожие вопросы