Как закрыть окно JFrame, не закрывая другое?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как закрыть окно JFrame, не закрывая другое?

Сообщение Anonymous »

Я новичок в Java Swing и пытаюсь научиться закрывать один кадр, не закрывая другой, с помощью кнопки. Например, у меня есть фрейм1/окно, в котором есть только кнопка входа в систему. Как только я нажимаю кнопку входа в систему, появляется другое окноframe2. На фрейме 2 у меня есть только образец JLabel «Привет и добро пожаловать», кнопка «Выход». Я хочу иметь возможность нажать кнопку «Выход» в кадре 2, и окно кадра 2 должно закрыться, но окно кадра 1 все еще будет открыто. Я попробовал setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE), но это сработает, только если я нажму на значок x в правом верхнем углу окна Frame2. Кто-нибудь знает способ закрыть рамку при нажатии на кнопку?
public class Frame1 extends JFrame implements ActionListener{

private static JButton login = new JButton("Login");
private static JFrame f = new JFrame("Login");

Frame1(){

f.setSize(1000,750);
f.setLocation(750, 250);

login.setBounds(250, 350, 150, 30);

f.add(login);
f.setLayout(null);
f.setVisible(true);
login.addActionListener(this);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public void actionPerformed(ActionEvent e){

if (e.getSource() == login){

Frame2.frame2windown();
}
}

public static void main(String [] args){

Frame1 login1 = new Frame1();
}
}

public class Frame2 extends JFrame implements ActionListener{

private static JButton logout = new JButton("Logout");
private static JLabel jb1 = new JLabel ("Hello And Welcome");
private static JFrame f = new JFrame("Log Out");

Frame2(){

f.setSize(1000,750);
f.setLocation(750, 250);

jb1.setBounds(250, 150, 350, 30);

logout.setBounds(250, 350, 150, 30);

f.add(logout);
f.add(jb1);
f.setLayout(null);
f.setVisible(true);

logout.addActionListener(this);

f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

}

public void actionPerformed(ActionEvent a){

if(a.getSource() == logout){

dispose();
WindowEvent closeWindow = new WindowEvent(this, JFrame.DISPOSE_ON_CLOSE);
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(closeWindow);

}

}

public static void frame2windown(){

Frame2 f2 = new Frame2();

}
}


Подробнее здесь: https://stackoverflow.com/questions/700 ... nother-one
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Закрыть подокно, не закрывая главное окно PyGTK в Python
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как открыть информационное окно и закрыть другое информационное окно при нажатии маркера службы мест? [дубликат]
    Гость » » в форуме Jquery
    0 Ответы
    64 Просмотры
    Последнее сообщение Гость
  • Закрыть фигуру matplotlib, не закрывая tkinter
    Anonymous » » в форуме Python
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Как закрепить безрамочное окно Qt сверху, не закрывая панель задач?
    Anonymous » » в форуме C++
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Закрыть окно черепахи кнопкой X (закрыть)
    Anonymous » » в форуме Python
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»