본문 바로가기

JAVA/UI

버튼 클릭하여 새로운 창 열기2 (Singleton 사용)

  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);
	}
}

'JAVA > UI' 카테고리의 다른 글

야구멤버 Ui  (0) 2020.06.12
채팅창  (0) 2020.06.12
버튼 클릭하여 새로운 창 열기1 (Frame 새로생성)  (0) 2020.06.12
layout(버튼과 라벨 기본셋팅)  (0) 2020.06.12
체크박스, 라디오버튼  (0) 2020.06.12