이번에는 메인클래스안에서 처리하는 방법이다.

MyFrame 클래스에서 스윙을 상속받고 리스너 인터페이스까지 사용한다.




MyFrame

 

import javax.swing.*;

import java.awt.event.*;

 

public class MyFrame extends JFrame implements ActionListener

{

    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(this); //현재 객체를 리스너로 등록하였다.

         b2.addActionListener(this);        

         panel.add(l1);

         panel.add(t1);

         panel.add(b1);

         panel.add(b2);

         panel.add(t2);

         this.add(panel);

         this.setVisible(true);

    }    

   

    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));

        }

    }

}

Posted by 아몰라