프로그래밍

 3198, 1/160 회원가입  로그인  
   ksbgenius
   (자바)액션이벤트 관련 질문..

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3015 [복사]


import java.awt.event.*;
import javax.swing.*;


class InterestTest extends JFrame{
        private JButton button;
        private JTextField t1, t2, t3;
        public InterestTest(){
                this.setSize(500,200);
                this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                this.setTitle("이자 계산기");
                
                JLabel label1 = new JLabel("원금을 입력하시오.");
                JLabel label2 = new JLabel("이율을 입력하시오.");
                                JPanel panel = new JPanel();
                t1 = new JTextField(5);
                t2 = new JTextField(5);
                t3 = new JTextField(20);
                button = new JButton("변환");
                button.addActionListener(new MyListener());
                panel.add(button);
                panel.add(label1);
                panel.add(label2);
                panel.add(t1);
                panel.add(t2);
                panel.add(t3);
                
                this.add(panel);
                this.setVisible(true);                
        }
        private class MyListener implements ActionListener{
                public void actionPerformed(ActionEvent e){
                        if(e.getSource() == button){
                         t3.setText("이자는 ....");            <------------------이 부분이 궁금합니다.
                        }
                }
        }
}
public class Interest{
        public static void main(String[] args){
                InterestTest m = new InterestTest();
        }
}
위 프로그램과 같이
텍스트 필드 t1,t2,t3가 있고, 변환이라는 버튼 컴포넌트가 있습니다.
만약 t1에 원금을 t2에 이율을 넣고 변환 버튼을 누르면 t3에 이자가 얼마다 라는것을 보이고 싶은데..
지금 제가 t3.setText("이자는....."); 이렇게 써 놓은 부분이 있는데 여기는 그냥 텍스트를 나타내는데
이 부분에 이자를 계산하기 위해서 t1 원금과 t2 이자를 곱한 것을 나타내고 싶습니다.


  Hit : 6735     Date : 2011/05/25 10:05



    
$Zero private class MyListener implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getSource() == button){
double a = Double.parseDouble(t1.getText()); //얻어온 문자열을 캐스트
double b = Double.parseDouble(t2.getText()); // 위와 동일
String total = "" + (a*b); // 계산된 double값을 문자열로 캐스트

t3.setText(total); // 셋팅.
}
}
}

도움이 되셨길.
2011/05/26  
$Zero 변수 선언을 하지 않고 인스턴스로 넣을 수도 있지만, 가독성을 위해 따로 변수 선언을 했습니다.

변수선언 없이 그냥 캐스트하자마자 인수로 전달하셔도 상관없어요 .
2011/05/26  
ksbgenius 감사합니다.ㅎㅎ^^ 2011/05/26