자바 GUI 창 전환 - jaba GUI chang jeonhwan

방법 총 3개 ----------------------
  window(Frame1) 에서 -> Frame 방법
  1. close 후                  new             (새로생성)
  
  2. setVisible을 false    true        (원하는 화면만 켜줌)
  //싱글턴사용
 
  3. Panel 사용
  Panel1           Panel2         (현상태를 유지하며 종이만 바꿈//주로씀)

자바 GUI 창 전환 - jaba GUI chang jeonhwan
버튼을 클릭하기 전
자바 GUI 창 전환 - jaba GUI chang jeonhwan
버튼 클릭하면 빨간창이 꺼지고 초록창이 생성

main

package windowChange1;
public class mainClass {
	public static void main(String[] args) {
		new WindowOne();
	}
}

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) {
				//한번 누르면 윈도우1이 꺼질 수 있도록 닫히게만듬
				//System.exit(0); ->윈도우2가 실행도 안되고 닫힘
				//현재 윈도우만 닫힐수 있는 코드
				dispose();
				new WindowTwo();//버튼을 누르면 윈도우2로가게 됨
			}
		});
		add(btn);
		
		setBounds(0, 0, 640, 480);
		setVisible(true);
		setBackground(Color.red);
	}
}

windowTwo

package windowChange1;

import java.awt.Color;
import java.awt.Frame;

public class WindowTwo extends Frame {
	public WindowTwo() {
	
		setBounds(0, 0, 800, 600);
		setVisible(true);
		setBackground(Color.green);
	}
}

공유하기

게시글 관리

구독하기______

저작자표시 변경금지

  • 카카오스토리
  • 트위터
  • 페이스북

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

채팅창  (0)2020.06.12버튼 클릭하여 새로운 창 열기2 (Singleton 사용)  (0)2020.06.12layout(버튼과 라벨 기본셋팅)  (0)2020.06.12체크박스, 라디오버튼  (0)2020.06.12가위바위보 게임 프로그램  (0)2020.06.12

Java2_18] JPanel, 프레임 전환

Language/JAVA 2019. 12. 5. 20:21

JPanel01

수업내용

JPanel

다른 컴포넌트를 부착할 수 있는 컨테이너

레이아웃을 여러개 만들어야 할 때 많이 사용

 

소스 코드

day18

   ㄴ src

      ㄴ day18

         ㄴ MyPane.java

package day18;

import java.awt.*;
import javax.swing.*;

public class MyPane extends JFrame {

	public MyPane() {
		setTitle("MyPane");
		setSize(300, 300);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Container c = getContentPane();
		c.setLayout(new GridLayout(1, 2));
		
//		첫 번째 판
		JPanel pane1 = new JPanel();	
		pane1.setLayout(new GridLayout(3, 1));
		pane1.add(new JButton("btn1"));
		pane1.add(new JButton("btn2"));
		pane1.add(new JButton("btn3"));
		
//		두 번째 판
		JPanel pane2 = new JPanel();
		pane2.setBackground(Color.black);
		pane2.setLayout(new FlowLayout());
		pane2.add(new JButton("btn1"));
		pane2.add(new JButton("btn2"));
		pane2.add(new JButton("btn3"));

		c.add(pane1);
		c.add(pane2);
		
		setVisible(true);
	}
	
	public static void main(String[] args) {
		new MyPane();
	}

}

실행

자바 GUI 창 전환 - jaba GUI chang jeonhwan
MyPane.java

JFrame

수업내용

프레임 전환하기

* 생성자 호출할 때 매개변수를 전달하여 라벨 변경

 

소스 코드

day18

   ㄴ src

      ㄴ day18

         ㄴ MyFrame.java

package day18;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class MyFrame extends JFrame {
	JLabel la = new JLabel();
	public MyFrame(String labelName) {
		super("MyFrame");
		setSize(300,300);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Container c = getContentPane();
		c.setLayout(new FlowLayout());
		la.setText(labelName);
		JButton nextBtn = new JButton("next");
		nextBtn.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
					setVisible(false);
					new YourFrame("You Change");
			}
		});
		c.add(la);
		c.add(nextBtn);
		setVisible(true);
	}
	public static void main(String[] args) {
		new MyFrame("My");
	}

}

class YourFrame extends JFrame{
	JLabel la = new JLabel("You");
	YourFrame(String labelName){
		super("YourFrame");
		setSize(300,300);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Container c = getContentPane();
		c.setLayout(new FlowLayout());
		JButton backBtn = new JButton("back");
		backBtn.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
					setVisible(false);
					new MyFrame("My Change");
			}
		});
		la.setText(labelName);
		c.add(la);
		c.add(backBtn);
		setVisible(true);
	}
	
}

실행

자바 GUI 창 전환 - jaba GUI chang jeonhwan
MyFrame.java
자바 GUI 창 전환 - jaba GUI chang jeonhwan
MyFrame.java (nextBtn 클릭 후)
자바 GUI 창 전환 - jaba GUI chang jeonhwan
MyFrame.java (backBtn 클릭 후)

공유하기

게시글 관리

구독하기.

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

Java3_01] 접근 권한 제어자  (0)2020.09.15Java_2 19] I/O Stream  (0)2019.12.08Java2_17] KeyValue, JList<E>, JMenu  (0)2019.12.04Java_2 16] AdapterClass, Foucs  (0)2019.12.03Java_2 15] MouseListener, MouseMotionListener  (0)2019.12.02

TAG

java

관련글 관련글 더보기

  • Java3_01] 접근 권한 제어자
  • Java_2 19] I/O Stream
  • Java2_17] KeyValue, JList<E>, JMenu
  • Java_2 16] AdapterClass, Foucs

댓글 0

댓글 접기 댓글 펼치기

이전 댓글 더보기