본문 바로가기
Kosta DevOps 과정 280기/Java

GUI와 CUI

by 롯슈83 2024. 5. 30.
  • CUI(Character User Interface)
    • 사용자와 컴퓨터가 문자로 의사소통하는 환경을 말한다.
  • GUI(Graphic User Interface)
    • 사용자와 컴퓨터가 그래픽 요소로 의사소통 하는 것을 말한다.

 

  • 자바는 GUI를 위한 javax.swing.xxx 패키지와 java.awt.xxxx 패키지를 만들어두었다.
    • 화면 구성요소들 
      • JFrame ==> 창
      • JButton ==> 버튼
      • JTextField ==> 한 줄 글자 입력
      • JTextArea ==> 여러줄 글자 입력
      • JLabel ==> 뭐 입력해야할지 표시
  • 배치관리자(LayoutManager) : 화면 구성 요소들을 배치하는 관리자
    • FlowLayout : 화면 구성 요소들을 왼쪽에서 오른쪽으로 위에서 아래로 물 흐르듯이 배치하는 관리자이다.
package com.kosta.exam11;

import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;

class MF extends JFrame{
	JButton []array = new JButton[15];	
	MF(){
		
		setLayout(new FlowLayout());	
		for(int i = 0; i < array.length; i++) {
			array[i] = new JButton("Button"+ (i+1));
			add(array[i]);
		}
		setSize(500, 500);
		setVisible(true);
		
		
	}
}

public class FlowLayoutTest{				
	public static void main(String[] args) {
		JFrame f = new MF();		
	}
}

 

  • GridLayout : 화면을 분할하는 레이아웃, 이 컴포넌트를 유지할 만큼 해준다. 따라서 그리드와 컴포넌트의 수가 일치되어야한다.일치되지 않으면 무시당한다.(행, 열)
package com.kosta.exam11;

import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;

class GL2 extends JFrame{

	GL2(){
		
		setLayout(new GridLayout(3,5));	
		for(int i = 0; i < 7; i++) {
			add(new JButton("버튼"+i));
		}
		setSize(400, 300);
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
	}
}

public class GridLayoutTest2{				
	public static void main(String[] args) {
		JFrame f = new GL2();		
	}
}
  • BorderLayout: 화면을 동 서, 남, 북 가운데 5개의 영역으로 분할하여 배치하는 방식
    • 보통 5개의 영역에 모두 배치하기 보다는 가운데를 중심으로 하여 중요한 컨텐츠를 가운데 놓고 부가적인 메뉴등을 위, 아래, 왼쪽, 오른쪽 배치하여 사용한다.
    • 즉, 위, 아래, 왼쪽, 오른쪽은 생략하여 사용하고 가운데는 생략하지 않는 것이 일반적이다.

'Kosta DevOps 과정 280기 > Java' 카테고리의 다른 글

네트워크 프로그램  (0) 2024.06.04
File메소드  (0) 2024.06.04
쓰레드 통신  (0) 2024.05.30
임계영역 (Critical Section)  (0) 2024.05.30
멀티스레드-2  (0) 2024.05.30