프로그래밍

자바 GUI 프로그래밍_1

JAVA
반응형

컨테이너 생성, 버튼 삽입

package eample;
import javax.swing.JFrame;
import javax.swing.JButton;

public class java extends JFrame{
	java()
	{
		setTitle("안녕 스윙");
		
		JButton b = new JButton("버튼");
		add(b);
		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(300,100);
		setVisible(true);
	}
	public static void main(String[] args) {
		new java();
	}
}

 

실행 결과

패널에 버튼과 레이블 추가하기

package eample;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class java extends JFrame{
	java()
	{
		setTitle("안녕 스윙");
		
		JPanel p = new JPanel();
		JLabel l = new JLabel("안녕 스윙!");
		JButton b = new JButton("버튼");
		p.add(l);
		p.add(b);
		add(p);
		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(300,100);
		setVisible(true);
	}
	public static void main(String[] args) {
		new java();
	}
}

실행 결과

플로우 레이아웃 

package eample;
import java.awt.ComponentOrientation;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class java extends JFrame{
	java()
	{
		setTitle("플로우레이아웃!!");
		
		JPanel p = new JPanel(new FlowLayout());
		p.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
		
		JButton b1 = new JButton("B 1");
		JButton b2 = new JButton("Button 2");
		JButton b3 = new JButton("버튼 3");
		JButton b4 = new JButton("Button four");
		p.add(b1);
		p.add(b2);
		p.add(b3);
		p.add(b4);
		add(p);
		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(300,110);
		setVisible(true);
	}
	public static void main(String[] args) {
		new java();
	}
}

주요 컴포넌트  활용 예제 (아직 작동X)

-> 작동까지 되는 코드는 : 2020/01/12 - [JAVA] - 자바 GUI 프로그래밍_2

package eample;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.ComponentOrientation;
import java.awt.FlowLayout;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class java extends JFrame{
	java ()
	{
		setTitle("원 넓이 구하기");
		
		setLayout(new BorderLayout(10,10));
		showNorth();
		showCenter();
		showSouth();
		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(300,220);
		setVisible(true);
	}
	void showNorth()
	{
		JPanel p1 = new JPanel();
		JPanel p2 = new JPanel();
		JPanel panel = new JPanel(new GridLayout(2,0));
		
		JLabel l1 = new JLabel("원의 반지름");
		JLabel l2 = new JLabel("원의 넓이");
		
		JTextField t1 = new JTextField(10);
		JTextField t2 = new JTextField(10);
		t2.setEnabled(false);
		
		p1.add(l1);
		p1.add(t1);
		p2.add(l2);
		p2.add(t2);		
		panel.add(p1);
		panel.add(p2);
		
		add(panel,BorderLayout.NORTH);
	}
	void showCenter()
	{
		JPanel panel = new JPanel();
		
		JTextArea area = new JTextArea(30,20);
		area.setText("이 영역에 원의 넓이를\n계산하는 과정이 나타납니다.");
		area.setEditable(false);
		area.setForeground(Color.RED);
		
		panel.add(area);
		
		add(panel, BorderLayout.CENTER);
	}
	void showSouth()
	{
		String[] color = {"red","blue"};
		
		JPanel panel = new JPanel(new FlowLayout(FlowLayout.CENTER,10,10));
		
		JButton cal = new JButton("계산");
		JComboBox<String> cb = new JComboBox<String>(color);
		JButton reset = new JButton("리셋");
		
		panel.add(cal);
		panel.add(cb);
		panel.add(reset);
		
		add(panel, BorderLayout.SOUTH);
	}
	public static void main(String[] args) {
		new java();
		
	}
}

실행 결과

 

반응형

'JAVA' 카테고리의 다른 글

JAVA GUI 프로그래밍_3  (0) 2020.01.18
자바 GUI 프로그래밍_2  (0) 2020.01.12
자바 기본 api  (0) 2020.01.05
자바 예외처리  (0) 2020.01.05
자바 추상 메소드와 추상 클래스  (0) 2020.01.04