클래스 하나가 MyFrame으로 들어왔다...
Action클래스가 MyFrame클래스안에 들어옴으로써 private변수들 때문에 만들었던 get set 함수가 필요없어졌다.
외부클래스의 멤버변수들을 자유롭게 사용한다.
MyFrame
public class MyFrame extends JFrame
{
private JPanel panel;
private JButton b1;
private JButton b2;
private JLabel l1;
private JTextField t1;
private JTextField t2;
public MyFrame()
{
this.setSize(300, 150);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("연습~");
panel = new JPanel();
b1 = new JButton("원의 둘레");
b2 = new JButton("원의 면적");
l1 = new JLabel("반지름의 길이를 입력해주세요:");
t1 = new JTextField(5);
t2 = new JTextField(10);
b1.addActionListener(new MyActionHandler());
b2.addActionListener(new MyActionHandler());
panel.add(l1);
panel.add(t1);
panel.add(b1);
panel.add(b2);
panel.add(t2);
this.add(panel);
this.setVisible(true);
}
Private class MyActionHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
double d;
if(e.getSource()==b1)
{
d = Double.parseDouble(t1.getText());
t2.setText(Double.toString(d *3.14));
}
else if(e.getSource()==b2)
{
d = Double.parseDouble(t1.getText());
t2.setText(Double.toString(d *d * 3.14));
}
}
}
}
'프로그래밍 기초 > Java' 카테고리의 다른 글
GUI 환경에서 이벤트 이용한 프로그램(메인클래스안에서) (1) | 2011.11.28 |
---|---|
GUI 환경에서 이벤트 이용한 프로그램(외부클래스) (0) | 2011.11.28 |