반응형
label과 textField의 간단한 활용 예제입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | 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.JTextField; public class TextFieldFrame extends JFrame { //버튼 및 텍스트필드의 참조변수 private JButton button; private JTextField text, result; public TextFieldFrame() { //생성자 내부에서 프레임의 크기와 타이틀을 설정해주고 //이너 클래스인 버튼 리스너 클래스의 객체를 생성해준다. setSize(300, 150); setTitle("제곱 계산하기"); ButtonListener listener = new ButtonListener(); //패널 객체 생성 JPanel panel = new JPanel(); //패널에 레이블 객체 생성 후, 추가 panel.add(new JLabel("숫자 입력")); //텍스트 필드 객체 생성 후 리스너와 이어준다. text = new JTextField("15"); text.addActionListener(listener); //패널에 텍스트 필드 객체를 추가한다. panel.add(text); //동일하게 패널에 레이블 객체 생성 후, 추가 panel.add(new JLabel("제곱한 값")); //텍스트 필드 객체 생성해준 뒤, 값을 입력못하게 막아놓는다. 그리고 패널에 추가 result = new JTextField(15); result.setEditable(false); panel.add(text); //버튼 객체 생성 후 리스너와 이어준다. //그리고 패널에 추가 button = new JButton("OK"); button.addActionListener(listener); panel.add(button); add(panel); //프레임 창이 보이고, 실행 종료시 완전히 작업 종료되게 한다. setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); } //이벤트 처리를 위한 리스너 클래스이다. private class ButtonListener implements ActionListener { //액션 이벤트 처리를 위한 메소드이다. public void actionPerformed(ActionEvent e) { //e.getSource()로 불러온 이벤트소스(이벤트와 이벤트 객체를 발생시키는 소스)가 //버튼과 텍스트인 경우 조건문 내부 실행 if (e.getSource() == button || e.getSource() == text) { //텍스트 필드에 입력된 내용을 불러와서 name 변수에 저장 //그리고 그것을 정수로 변환한 뒤, 다시 int 변수에 저장 String name = text.getText(); int value = Integer.parseInt(name); //그리고 그 값을 제곱한 뒤 다시 텍스트필드에 고정시키고, 텍스트필드에 포커스를 주는 것으로 마무리 result.setText(" " + value * value); text.requestFocus(); } } } public static void main(String[] args) { new TextFieldFrame(); } } | cs |
반응형
'It Study > POWER JAVA(기본서)' 카테고리의 다른 글
POWER JAVA 10장 예제 11-8 comboBox 사용법 (0) | 2022.11.09 |
---|---|
POWER JAVA 10장 예제 11-1 label 및 font 변경 (0) | 2022.11.09 |
POWER JAVA 10장 mini project GUI 활용 계산기 (일부 기능만) -재수정 (0) | 2022.11.07 |
POWER JAVA 10장 예제 10-3 자동차 움직이기 (주석) (0) | 2022.11.03 |
POWER JAVA 10장 Lab1 가위,바위,보 게임 (주석) (0) | 2022.11.02 |