2016-12-07 13 views
0

나는 대출 유형을 선택할 수있는 학교 코드를 작성한 후 대출 금액을 지불하고 대출금 상환에 걸리는 시간을 알려줍니다. 몇 가지 기본 JTextFields를 사용하여 사용자 입력을 허용 한 다음 .getText()를 사용하여 정보를 검색했습니다. 그러나 내가 그 필드를 사용하면 내 콘솔에 nullnull을 반환합니다. 나는 이것을 잠시 동안 풀려고 노력해 왔고 코드를 꽤 바꿨다. 나는 코딩에 익숙하지 않았기 때문에 따르기가 약간 어려웠을 것이다. 만약 누군가가 왜 null을 반환하는지에 대해 나를 도울 수 있다면 나는 사과 할 것이다.null 값을 반환하는 텍스트 필드

여기 코드는

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 
import java.util.Scanner; 
public class Loan1 extends JFrame implements ActionListener 
{ 
String paymentTotal, total; 
double a; 
double b; 
double g; 
String Total; 
FlowLayout flowLayout = new FlowLayout(); 
private JButton bl = new JButton("Business Loan"); 
private JButton pl = new JButton("Personal Loan"); 
private JButton cl = new JButton("Create a Loan"); 
private JButton submit = new JButton("Submit"); 
TextField textField = new TextField(20); 


JLabel thing = new JLabel("How long were you looking to payoff the loan?"); 
JLabel thing2 = new JLabel("you will have to pay " + g + " $ a month"); 


    public Loan1(){ 
     setLayout(flowLayout); 
     add("Business Loan",bl); 
     add("Personal Loan",pl); 
     add("Create a Loan",cl); 
     bl.addActionListener(this); 
     pl.addActionListener(this); 
     cl.addActionListener(this); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    } 

    public void actionPerformed(ActionEvent e) 
    { 
     if (e.getSource() == bl || e.getSource() == pl 
|| e.getSource() == cl) 

      payment(); 
     if (e.getSource() == submit) { 
      Submit(); 
     } 
     repaint(); 
     //b = new Double(Total); 
     System.out.print(Total); 
     System.out.print(paymentTotal); 
     add(thing); 
     TextField textField = new TextField(20); 
     String text = textField.getText(); 
     add(textField); 
     remove(bl); 
     remove(cl); 
     remove(pl); 

     if(text.equals("1")){ 
      a = 1; 
      //g = paymentTotal/a *12 
      add(thing2); 
     } 
     if(text.equals("2")){ 
      a = 2; 
      //g = paymentTotal/a *12 
      add(thing2); 
     } 
     if(text.equals("3")){ 
      a = 3; 
      //g = paymentTotal/a *12 
      add(thing2); 
     } 
     if(text.equals("4")){ 
      a = 1; 
      //g = paymentTotal/a *12 
      add(thing2); 
     } 
     if(text.equals("5")){ 
      a = 1; 
      //g = paymentTotal/a *12 
      add(thing2); 
     } 
     } 
    public static void main(String[] args) 
    { 
     Loan1 JBL = new Loan1(); 
     JBL.setSize(250,250); 
     JBL.setVisible(true); 
    } 


    public void payment() { 
     JLabel thing1 = new JLabel("How much money 
    were you looking to get a loan for?"); 
     add(thing1); 
     add(textField); 
     add(submit); 
    } 
    public void Submit(){ 
     String Total = textField.getText(); 
     paymentTotal = Total; 
     System.out.print(Total); 
     remove(textField); 

    } 

    } 

답변

0

먼저 :

submit.addActionListener(this); 

을 왜 각 버튼을 자신의 actionPerformed를 위해 지정하지 않은 : 당신의 방법을 지불(), 당신은 잊지나요?

+0

금리를 변경하면 (마녀는 아직 추가하지 않았습니다) 실행하고 같은 질문을합니다. 그래서 1 변수를 바꿀 것이기 때문에 .getsource로 변경하려고했습니다. 감사합니다. 도움을 위해서, 이제는 숫자가 반환되고, 제출자는 우리의 첫 번째 텍스트 필드에서만 작동하기 때문에 나는 마녀라고 가정합니다. 두 번째 부분에도 추가하고 그것이 무엇을하는지 봅니다. –

+0

@LukeHedrick okyy –