JAVA 공부

자바 윈도우 프로그래밍

사탕맛사과 2023. 5. 10. 02:18

▶참고 사이트
https://www.javatpoint.com/java-awt

 

Java AWT Tutorial - javatpoint

Java AWT API Tutorial with Button, TextField, Useful method of component class, simple example of awt by inheritance, TextArea, RadioButton, List, CheckBox, Menu, MenuItem, MenuBar classes and details of java.awt package.

www.javatpoint.com

 

▶윈도우 창 띄우고, 버튼 생성해보기

package com.simple.gui;

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

public class Sample3 extends JFrame {
	JFrame frame;
	JButton btnOk;
	
	public Sample3() {
		frame = new JFrame("wow");
		
		frame.setSize(300,300);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setLayout(null);
		
		btnOk = new JButton("Ok");
		btnOk.setBounds(10, 10, 100, 50);
		frame.add(btnOk);
		
		frame.setVisible(true);
	}
	
	public static void main(String[] args) {
		new Sample3();
	}
}

 

▶윈도우 창 띄우고, 버튼 여러개 생성해보기

package com.simple.gui;

import java.awt.Button;
import javax.swing.JFrame;

public class Sample01 extends JFrame{
	
	// 생성자에서 프레임에 관한 기본설정
	public Sample01() {
		
		// 윈도우 크기 설정
		this.setSize(500,300);	// px 사이즈 (가로, 세로)
		
		// 배치기준을 설정
		setLayout(null);
		
		// 윈도우 제목 표시
		setTitle("처음으로 만드는 윈도우");

		// 이 코드 안쓰면... 창을 끝낸다고 해서 종료 되는 것이 아님
		// 콘솔창에서 종료해주지 않으면 내부적으로 계속 실행
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		// 컴포넌트(버튼)를 생성
		Button b1 = new Button("Click Me!!!");
		Button b2 = new Button("Hey!!!");
		Button b3 = new Button("Hi!!!");
		
		// 컴포넌트 배치 설정
		b1.setBounds(30, 100, 80, 30);	// 버튼의 좌표(30, 100)와 크기(80, 30)
		b2.setBounds(120, 100, 80, 30);
		b3.setBounds(210, 100, 80, 30);
		
		// 컴포넌트 프레임에 등록
		this.add(b1);	// add는 button 보다 더 상위 클래스인 Container 임
		this.add(b2);
		this.add(b3);
		
		// 윈도우 보이기 & 숨기기 설정
		setVisible(true);
	}
	
	public static void main(String[] args) {
		Sample01 s = new Sample01();	// 윈도우 창이 생김
	}
}

 

▶윈도우창 띄우고, 입력 가능한 창 만들어보기

package com.simple.gui;

import javax.swing.JFrame;
import java.awt.Button;
import java.awt.Label;
import java.awt.TextField;

public class Sample2 extends JFrame {
	
	// 생성자에서 프레임에 관한 기본설정
	Sample2(){
		
		// 윈도우 크기 설정
		setSize(400,300);
		
		// 배치기준을 설정
		setLayout(null);
		
		// 윈도우 종료 (콘솔까지 같이)
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		// 윈도우 보이기 & 숨기기 설정
		setVisible(true);
		
		// 윈도우 제목 표시
		setTitle("Employee info");
		
		// 컴포넌트 생성
		Label l = new Label("Employee id: ");
		Button b = new Button("submit");
		TextField t = new TextField();
		
		// 컴포넌트 배치 설정
		l.setBounds(20, 80, 80, 30);
		b.setBounds(100, 110, 80, 30);
		t.setBounds(20, 110, 80, 30);
	    	  
		// 컴포넌트 프레임에 등록
		add(l);
		add(b);
		add(t);
	}
	
	public static void main(String[] args) {
		Sample2 s = new Sample2();	// 윈도우 실행
	}
}

 

package com.simple.gui;

import java.awt.Color;
import java.awt.FlowLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class BassicComponent extends JFrame {
	// 윈도우 컴포넌트는 여기에 기술
	
		public BassicComponent() {
			// 윈도우 기본 설정
			setTitle("기본컴포넌트");
			setSize(500,200);
			setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			
			// FlowLayout flow = new FlowLayout();
			setLayout(new FlowLayout());	// 위치를 맡김 오마카세~
			
			// 패널 생성
			JPanel panel = new JPanel();
			JPanel panel1 = new JPanel();
			
//			panel.setLayout(new BorderLayout());
			
			panel.setBackground(Color.yellow);
			panel1.setBackground(Color.cyan);
			
			// 컴포넌트 생성
			JLabel lblName = new JLabel("Name : ");
			JTextField txtName = new JTextField(20);
			
			JLabel lblAddr = new JLabel("Address : ");
			JTextField txtAddr = new JTextField(20);

			JLabel lblAge = new JLabel("Age : ");
			JTextField txtAge = new JTextField(10);
			
			
			// 컴포넌트 등록 (등록 순으로 배치가 됨)
			panel1.add(lblName);
			panel1.add(txtName);
			panel.add(lblAddr);
			panel.add(txtAddr);
			panel.add(lblAge);
			panel.add(txtAge);
			
			// 윈도우 프레임에 패널을 등록
			this.add(panel1);
			this.add(panel);
			
			// 윈도우 보이기 설정
			setResizable(false);
			setVisible(true);
		}
		
		public static void main(String[] args) {
			new BassicComponent();
		}
}

'JAVA 공부' 카테고리의 다른 글

JAVA 참고 사이트  (0) 2023.05.10
자바 윈도우로 색상바 조절하기  (0) 2023.05.10
사칙연산  (0) 2023.05.10
극장좌석 예약하기  (0) 2023.05.10
로또문제  (1) 2023.05.10