자바 이벤트 부분 질문좀요...(수정)
행운아
총 3개의 클래스로 이 프로그램을 만들려는데요...제가 할려는건 반지름 값 텍스트박스에에 넣고 버튼들을 클릭하면 원의 둘레와
원의 면적을 구해주는 프로그램인데요
두가지 질문이 있는데
첫번째는
MyFrame 클래스에 있는 변수들이 private 변수들인데
그래서 접근하기위해 여러가지 생각을 해봤지만 public 으로 안하면 get,set 함수 안쓰고서는
다른 방법이 없을까요?
두번째는
JTextField에 있는 값을 가져와서 계산할려면 double형으로 바꿔야 될것 같은데...이게 아무리해도 안되가지고요
혹시 다른 방법이 있는지 궁금합니다..
MyActionHandle
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MyActionHandler implements ActionListener
{
private MyFrame f;
public MyActionHandler(MyFrame f)
{
this.f = f;
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==f.getButton())
{
f.setTextField(int32.parse(f.getTextField())*3.14);
}
else if(e.getSource()==f.getButton2())
{
}
}
}
MyFrame
import javax.swing.*;
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);
MyActionHandler han = new MyActionHandler(this);
b1.addActionListener(han);
b2.addActionListener(han);
panel.add(l1);
panel.add(t1);
panel.add(b1);
panel.add(b2);
panel.add(t2);
this.add(panel);
this.setVisible(true);
}
}MyFrameTest
public class MyFrameTest
{
public static void main(String[] args)
{
MyFrame my = new MyFrame();
}
}