JAVA GUI 기본 개념 정리

JuHyung Yoon·2023년 7월 5일
0

컨테이너 : 다른 구성요소들을 포함할 수 있는 객체
자기 자신도 다른 컨테이너에 포함될 수 있다.

컨테이너 클래스 :
JPanel
JFrame : GUI 틀 그자체
JDialog : 팦업창,알람창

컴포넌트 : 컨테이너에 포함되어야 출력될 수 있는 객체

  • 다른 컴포넌트를 포함할 수 없다.
  • JLabel, JTextField, JCheckBox
  • 화면의 구성요소들로 볼 수 있다.

최상위 컨테이너 :

  • 다른 컨테이너에 포함되지 않고 독립적인 존재
  • JFrame, JDialog

setBounds(x,y,width,height)
setTitle("String title")
setdefaultcloseoperation("") = 창을 닫을때 기본적으로 실행되는 이벤트성 코드
setLocation(int Left,int Top) = 왼쪽을 기준으로 얼마나,상단을 기준으로 얼마나

JLabel, JTextfield, JButton의 속성

  • setHorizontalAlignment(추가 속성값int)
    JLabel.Left 왼쪽 정렬
    JLabel.Center 중앙 정렬
    JLabel.Right 오른쪽 정렬

JButton

JButton은 단독적으로 쓰이기 보다는 클릭했을때 어떠한 기능을 작동시킨다
이벤트 리스너를 추가하여 같이 동작한다.

**배열을 사용해 반복구조를 표현하는 방법

ex)


String[] name = {"1번", "2번", "3번"};
    	for(int i =0; i< name.length;i++) {
    		JButton jb = new JButton(name[i]);
    		jb.setSize(140,50);
    		jb.setLocation(20, 40+70*i);
    		
    		jf.add(jb);
    	}

버튼과 이벤트 리스너의 사용예시 기본편

class FrameLayout implements ActionListener{
	
	public void FrameLayout() {
		JFrame jf = new JFrame();
		jf.setSize(300,300);
		jf.setTitle("JButton 구현하");
		jf.setLayout(null);
		jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);
		
		String[] name = {"1번", "2번", "3번"};
    	for(int i =0; i< name.length;i++) {
    		 JButton jb = new JButton(name[i]);
    		jb.setSize(140,50);
    		jb.addActionListener(this);
    		//jb 버튼에 이벤트 리스너를추가 
    		// 아래 actionPerformed 메소드는 클릭할 때마다 작
    		jb.setLocation(70, 40+70*i);
    		
    		jf.add(jb);
    	}
    	
    	jf.setVisible(true);
		
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		JOptionPane.showMessageDialog(null, "이벤트 발생\n" + e.getActionCommand()+ "입니다.");
	}

Grid 레이아웃

  • GridLayout(int row,int collum,int hGap,int vGap);
profile
ㅋㅎ딩초보

0개의 댓글

Powered by GraphCDN, the GraphQL CDN