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();
}
}
'Programming > JAVA,JSP' 카테고리의 다른 글
JAVA 파일 검색 코드 (0) | 2013.12.28 |
---|---|
JAVA GUI 계산기 소스코드 (0) | 2013.12.22 |
JAVA 소수를 판단하는 GUI 프로그램 (0) | 2013.12.21 |
JAVA 버블 정렬 (0) | 2013.11.30 |
JAVA JTable 실습 예제 (0) | 2013.08.24 |