JAVA

JAVA Swing(2022.12.27)

9400 2022. 12. 27. 20:00

스윙(Swing)은 자바에서 GUI(Graphic User Interface)를 구현하기 위해 JDK에서 기본적으로 제공하는 개발 툴킷으로 선 마이크로시스템즈의 자바 기반 클래스의 일부이다.

 

자바 스윙을 사용하기 위해서는 먼저 WindowBuilder를 설치해야한다. 

Eclipse - Help - eclipse Marketplace
WindowBuilder 를 설치 후,

new 에서 아래와 같이 선택 이후 이름을 입력 후 생성해주면 된다 

 

 f.setVisible(true)

창을 화면에 나타낼 것인지 설정 
 
 f.setSize(400,600)

창의 가로와 세로 길이 설정

 

 

다양한 프로그램 만들기 

위와 같이 new 를 선택하여 JFrame을 선택해주고 

 

디자인을 눌러 예쁘게 창을 만들어준다.

 

만약 클릭 버튼을 누를시 이벤트를 주고 싶다면

 위와 같이 선택

 

		btn.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				System.out.println("MyClick");
				lbl.setText("good evening");
			}
		});

소스 코드에 위와 같은 addMouseListener가 추가 되는데 

이때, 라벨의 텍스트를 good evening이라고 셋팅해주면 된다 

 

 

 

클릭을 누를때 마다 1 증가 시키기 

 

1++씩 증가 완료

 

구구단 출력하기

package day04;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class Swing03 extends JFrame {

	private JPanel contentPane;
	private JTextField tf;
	private JTextArea ta;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Swing03 frame = new Swing03();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public Swing03() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lbl = new JLabel("출력단수");
		lbl.setBounds(55, 40, 57, 15);
		contentPane.add(lbl);
		
		JButton btn = new JButton("출력하기");
		btn.addMouseListener(new MouseAdapter() {
			
			@Override //출력하기를 누르면 
			public void mouseClicked(MouseEvent e) {
				gugudan();
			}
		});
		btn.setBounds(66, 78, 97, 23);
		contentPane.add(btn);
		
		ta = new JTextArea();
		ta.setBounds(44, 111, 191, 140);
		contentPane.add(ta);
		
		tf = new JTextField();
		tf.setBounds(114, 37, 116, 21);
		contentPane.add(tf);
		tf.setColumns(10);
	}
	
	public void gugudan() {
		int num = Integer.parseInt(tf.getText());
		String code="";
		
		for(int i = 1; i<=9; i++) {
			code+= num + "*"+ i + "=" + num*i +"\n";
		}
		ta.setText(code);
		
//		ta.setText(num+"*"+"1="+(num*1));
//		ta.setText(num+"*"+"2="+(num*2));
//		ta.setText(num+"*"+"3="+(num*3));
//		ta.setText(num+"*"+"4="+(num*4));
//		ta.setText(num+"*"+"5="+(num*5));
//		ta.setText(num+"*"+"6="+(num*6));
//		ta.setText(num+"*"+"7="+(num*7));
//		ta.setText(num+"*"+"8="+(num*8));
//		ta.setText(num+"*"+"9="+(num*9));
	}
	
}

출력성공!