JAVA/UI
버튼 클릭하여 새로운 창 열기2 (Singleton 사용)
웨이칭
2020. 6. 12. 14:12
2. setVisible을 false true (원하는 화면만 켜줌)
//싱글턴사용
main
public class mainClass {
public static void main(String[] args) {
SingletonClass.getInstance().one.setVisible(true);
//모두 꺼놓고 메인에서 첫번째 윈도우 true로 켜짐 설정
}
}
SingletonClass
public class SingletonClass {//실무에서는 delegete라는 명칭을 많이 씀
private static SingletonClass sc = null;
WindowOne one;
WindowTwo two;
private SingletonClass() {
one = new WindowOne();
two = new WindowTwo();
}
public static SingletonClass getInstance() {
if (sc == null) {
sc = new SingletonClass();
}
return sc;
}
}
windowOne
public class WindowOne extends Frame {
public WindowOne() {
setLayout(null);
Button btn = new Button("move window");
btn.setBounds(100, 100, 100, 30);
//이 버튼이 눌렸을 때 윈도우가 실행 됨
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//싱글턴 호출
SingletonClass sc = SingletonClass.getInstance();
sc.one.setVisible(false);
sc.two.setVisible(true);
}
});
add(btn);
setBounds(0, 0, 640, 480);
setVisible(false);
setBackground(Color.red);
}
}
windowTwo
import java.awt.Color;
import java.awt.Frame;
public class WindowTwo extends Frame {
public WindowTwo() {
setBounds(0, 0, 800, 600);
setVisible(false);
setBackground(Color.green);
}
}