GUI 윈도우로 작동하는 덧셈 프로그램 문제


다음과 같은 윈도우로 작동하는 덧셈 프로그램을 작성하십시오.



이 윈도우의 첫 번째, 두 번째 텍스트 상자에 수를 입력하고 확인 버튼을 누르면 세 번째 텍스트 상자에 합계가 출력되어야 합니다. 그리고 취소 버튼을 누르면 세 개의 텍스트 상자가 모두 클리어되어야 합니다.


※ 실행 클래스와 확인 버튼을 처리하는 이벤트 리스너  클래스, 취소 버튼을 처리하는 이벤트 리스너 클래스를 각각 만든다.


-------------------------------------------------------------------------------------------------

1. 실행 클래스


package GUI프로그래밍;

import java.awt.*;

import javax.swing.*;


public class Answer {

public static void main(String[] args) {

JFrame frame = new JFrame("덧셈프로그램");

frame.setLocation(500, 400);

Container contentPane = frame.getContentPane();

JPanel pane1 = new JPanel();

JPanel pane2 = new JPanel();


contentPane.add(pane1, BorderLayout.CENTER);

contentPane.add(pane2, BorderLayout.SOUTH);


pane1.setLayout(new FlowLayout());

JTextField text1 = new JTextField(5);

JTextField text2 = new JTextField(5);

JTextField text3 = new JTextField(5);


pane1.add(text1);

pane1.add(new JLabel("+"));

pane1.add(text2);

pane1.add(new JLabel("="));

pane1.add(text3);

pane2.setLayout(new FlowLayout());

JButton button1 = new JButton("확인");

JButton button2 = new JButton("취소");

pane2.add(button1);

pane2.add(button2);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

ConfirmButtonActionListener actionListener1 = new ConfirmButtonActionListener(text1, text2, text3);

//확인 버튼을 처리하는 이벤트 리스너  클래스를 불러옴

CancelButtonActionListener actionListener2 = new CancelButtonActionListener(text1, text2, text3);

//취소 버튼을 처리하는 이벤트 리스너 클래스를 불러옴

button1.addActionListener(actionListener1);

button2.addActionListener(actionListener2);

frame.pack();

frame.setVisible(true);

}

}

-----------------------------------------------------------------------------------
2. 확인 이벤트 리스너 클래스

package GUI프로그래밍;//확인 버튼을 처리하는 이벤트 리스너  클래스
import javax.swing.*;
import java.awt.event.*;
class ConfirmButtonActionListener implements ActionListener {
JTextField text1, text2, text3;

ConfirmButtonActionListener(JTextField text1, JTextField text2, JTextField text3) {
this.text1 = text1;
this.text2 = text2;
this.text3 = text3;
}

public void actionPerformed(ActionEvent e) {
int num1 = Integer.parseInt(text1.getText());
int num2 = Integer.parseInt(text2.getText());
int sum = num1 + num2;
text3.setText(sum + "");
}
}
-----------------------------------------------------------------------------------
3. 취소 이벤트 리스너 클래스

package GUI프로그래밍;
import javax.swing.*;
import java.awt.event.*;
//취소 버튼을 처리하는 이벤트 리스너 클래스
class CancelButtonActionListener implements ActionListener {
JTextField text1, text2, text3;

CancelButtonActionListener(JTextField text1, JTextField text2, JTextField text3) {
this.text1 = text1;
this.text2 = text2;
this.text3 = text3;
}

public void actionPerformed(ActionEvent e) {
text1.setText("");
text2.setText("");
text3.setText("");
}
}

-----------------------------------------------------------------------------------





Posted by netyhobby
,