336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
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;
class MyFrame extends JFrame {
private JButton button;
private JTextField text, result;
public MyFrame() {
setSize(300,
130);
setTitle("제곱 계산하기");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ButtonListener
listener = new ButtonListener(); // 리스너 객체 생성
JPanel
panel = new JPanel();
panel.add(new JLabel("숫자 입력: ")); // 레이블 생성
text = new JTextField(15); // 컬럼수가 15인 텍스트 필드 생성
text.addActionListener(listener); // 텍스트 필드에 리스너 연결
panel.add(text);
panel.add(new JLabel("제곱한 값: "));
result = new JTextField(15); // 결과를 나타낼 텍스트 필드
result.setEditable(false); // 편집 불가 설정
panel.add(result);
button = new JButton("OK");
button.addActionListener(listener);
panel.add(button);
add(panel);
setVisible(true);
}
// 텍스트 필드와 버튼의 액션 이벤트 처리
private class ButtonListener implements ActionListener {
public void
actionPerformed(ActionEvent e) {
if (e.getSource() == button || e.getSource()
== text) {
String
name = text.getText();
int value = 0;
try {
value
= Integer.parseInt(name);
boolean isPrimeNumber = false;
// 계산
int count = 0;
for (int i = 1; i <= value; i++) {
// 계산
if (value % i == 0) {
count++;
}
}
if (count == 2) {
isPrimeNumber
= true;
}
if (isPrimeNumber) {
result.setText("소수입니다.");
}
else {
result.setText("소수가 아닙니다.");
}
}
catch (NumberFormatException e1) {
result.setText("숫자를 입력해주세요!!");
}
text.requestFocus();
}
}
}
}
public class TextFieldTest extends JFrame {
public static void main(String[] args) {
new MyFrame();
}
}