Java/Java Swing

Swing - 2

도준영 2024. 5. 31. 17:46

기본 컴포넌트를 확인해 보자.

 

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();
	}
	
}

 

 

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;

/**
 * 패널에 그림을 그리는 방법 자바 문법 - 중첩 클래스 ( 클래스안 클래스를 만든 것) 외부 클래스, 내부 클래스 , outer class,
 * 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 inner class

}

 

 

 

 

 

 

 

'Java > Java Swing' 카테고리의 다른 글

Swing - 6 (Key Listener)  (0) 2024.07.15
Swing - 5 (이벤트 리스너)  (0) 2024.07.03
Swing - 4 (이미지 겹치는 방법)  (0) 2024.07.03
Swing - 3 (이미지 올리기)  (0) 2024.05.31
Swing - 1  (0) 2024.05.31