[Java] 자바 스윙3: 버튼 기능, 글 추가, 패널 추가, Label 내용 변경

Haeun Noh·2022년 9월 18일
0

JAVA_Java Swing 강의

목록 보기
3/4

0919


소스 코드

package JavaSwing;

import java.awt.BorderLayout;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

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

public class Frame {

	public static void main(String[] args) {
		JFrame frame = new JFrame();
		JPanel panel = new JPanel();
		JLabel label = new JLabel("Some text");
		JButton btn1 = new JButton("Click me!!!");
		JButton btn2 = new JButton("Exit");
		JTextField txtField = new JTextField(200);
		JTextArea txtArea = new JTextArea();
		JPanel btnPanel = new JPanel();
		
		panel.setLayout(new BorderLayout());
		
		//btnPanel에 btn1, btn2를 집어 넣음
		btnPanel.add(btn1);
		btnPanel.add(btn2);
		panel.add(label, BorderLayout.NORTH);
		panel.add(btnPanel, BorderLayout.WEST);
		panel.add(txtArea, BorderLayout.CENTER);
		
		//btn1(Click me!!!)버튼을 눌렀을 때의 이벤트
		btn1.addActionListener(new ActionListener() {
			
			@Override
			//이 버튼을 클릭했을 때 무언가를 해라
			public void actionPerformed(ActionEvent e) {
				//btn1 버튼을 눌렀을 때 textArea에 해당 문구가 출력됨
				//txtArea.append("You're so amazing!!\n");
				
				//btn1 버튼을 눌렀을 때 label의 문구를 내가 textArea에 쓴 텍스트로 바꾸기
				//label.setText : label에 텍스트를 넣어라
				//txtArea.getText() : txtArea에 써져 있는 텍스트를 가져와라
				label.setText(txtArea.getText());
			}
		});
		
		//btn2(Exit) 버튼을 눌렀을 때의 이벤트
		btn2.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				//btn2 버튼을 눌렀을 때 프로그램을 종료하기
				System.exit(0);
			}
		});
		
		frame.add(panel);
		
		frame.setVisible(true);									//컴파일하면 바로 보임
		frame.setSize(840, 700);								//화면 크기 설정
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	//프로그램 정상 종료
		frame.setLocationRelativeTo(null);  					//화면 중간에 생성
		frame.setResizable(false);  							//화면 크기 조절 못함
	}

}

실행 화면

txtArea에 텍스트 작성 전


txtArea에 텍스트 작성 후 Click me!!!버튼을 누른 결과



profile
기록의 힘을 믿는 개발자, 노하은입니다!

0개의 댓글