import javax.swing.*;
import java.awt.event.*;
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 = 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("소수가 아닙니다.");
}
text.requestFocus();
}
}
}
}
public class TextFieldTest extends JFrame {
public static void main(String[] args) {
new MyFrame();
}
}
'Programming > JAVA,JSP' 카테고리의 다른 글
JAVA GUI 계산기 소스코드 (0) | 2013.12.22 |
---|---|
JAVA 소수를 구하는 프로그램 GUI #2 (0) | 2013.12.21 |
JAVA 버블 정렬 (0) | 2013.11.30 |
JAVA JTable 실습 예제 (0) | 2013.08.24 |
JAVA 채팅 프로그램 소스 (0) | 2013.08.23 |