본문 바로가기

Swing

기본 컴포넌트 확인

아이디, 비밀번호, 동의 체크 박스

package ch02;

import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class MyComponents extends JFrame{

	private JButton button;
	private JLabel label;
	private JTextField textField;
	private JPasswordField passwordField;
	private JCheckBox checkBox;
	
	public MyComponents() {
		initData();
		setInitLayout();
	}
	
	private void initData() {
		setTitle("컴포넌트 확인");
		setSize(800, 800);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		button = new JButton("JButton");
		label = new JLabel("글자를 띄우는 컴포넌트");
		textField = new JTextField("아이디 입력", 20);
		passwordField = new JPasswordField("비밀번호 입력", 20);
		checkBox = new JCheckBox("동의");
	}
	
	private void setInitLayout() {
		setLayout(new FlowLayout());
		setVisible(true);
		
		add(button);
		add(label);
		add(textField);
		add(passwordField);
		add(checkBox);
	}
	

	public static void main(String[] args) {
		new MyComponents();
	}// end of main
	
}// end of class

버튼 색상

package ch02;

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

public class MyFramePanel  extends JFrame {

	private JButton button1; 
	private JButton button2;

	// 패널 추가하기 
	private JPanel panel1;
	private JPanel panel2;
	
	public MyFramePanel() {
		initData();
		setInitLayotu();
	}
	
	private void initData() {
		setTitle("패널추가 연습");
		setSize(600, 400);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		panel1 = new JPanel();
		panel2 = new JPanel();
		
		button1 = new JButton("button1");
		button2 = new JButton("button2");
	}
	
	private void setInitLayotu() {
		
	}
	
}

그림 그리기

package ch02;

import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JPanel;
/**
 * 패널에 그림을 그리는 방법 자바 문법 - 중첩 클래스(클래스 안 클래스를 만든 것) 외부 클래스,
 * inner  class
 */

public class MyDrawFrame extends JFrame {

	// 내부 클래스를 외부 클래스에 사용하려면
	// 멤버로 가지고 있어야 한다.

	MyDrawPanel myDrawPanel;

	public MyDrawFrame() {
		initData();
		setInitLayout();
	}

	private void initData() {
		setTitle("내부클래스를 활용한 그림 그리는 연습");
		setSize(600, 600);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		myDrawPanel = new MyDrawPanel();
	}

	private void setInitLayout() {
		add(myDrawPanel);
		setVisible(true);
	}

	// paint -> 좌표값으로 x = 0, y = 0
	// JPanel에 있는 기능을 확장해 보자.
	class MyDrawPanel extends JPanel {
		// paints -> x
		// print -> x
		// paint -> o

		@Override
		public void paint(Graphics g) {
			super.paint(g);
			g.drawRect(100, 100, 50, 100);
			g.drawRect(200, 200, 150, 150);

			// int x1, int y1, int x2, int y2
			g.drawLine(250, 300, 300, 300);
			g.drawOval(100, 150, 200, 300);
			g.drawString("반가워", 400, 400);
			g.drawString("☆☆", 500, 500);
		}
		
	}// end of class


	public static void main(String[] args) {
		new MyDrawFrame();
	}// end of main
	
	
}// end of class

728x90

'Swing' 카테고리의 다른 글

EventListener (이벤트 리스너)  (0) 2024.05.03
JLabel을 이용한 이미지 겹치는 방법  (0) 2024.05.03
ImageIcon을 활용한 이미지 사용하는 방법  (0) 2024.05.03
Swing (스윙) - 1  (1) 2024.04.25