-4
프로그램에 값을 입력하면 왜 내 값이 넘어지지 않습니까? 나는 간단한 것을 놓치고있는 것을 안다. 그러나 나는 그것에 손가락을 대지 않을 수있다.내 값이 이전되지 않는 이유
도움을 주시면 감사하겠습니다.
문제가있는 부분은 "actionPerformed"방법입니다. validate()
에 도달하기 전에 actionPerformed
를 종료에 다른 블록에서
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class PayBillGUI extends JFrame implements ActionListener{
double totalDue = 0.0;
double taxRate = 0.0;
double tipRate = 0.0;
double totalOwed = 0.0;
private JButton calcBtn;
private JButton exitBtn;
private JLabel totalLbl;
private JTextField totalTxt;
private JLabel taxLbl;
private JTextField taxTxt;
private JLabel tipLbl;
private JTextField tipTxt;
private JLabel owedLbl;
private JLabel numOweLbl;
private Container container;
public PayBillGUI(String title)
{
super(title);
setSize(225, 200);
initializeUserInterface();
}
public void initializeUserInterface()
{
container = this.getContentPane();
container.setLayout(new GridLayout(0,2));
calcBtn = new JButton("Calculate");
exitBtn = new JButton("Exit");
totalLbl = new JLabel("Total Due: ");
totalTxt = new JTextField(5);
taxLbl = new JLabel("Tax Rate: ");
taxTxt = new JTextField(5);
tipLbl = new JLabel("Tip Rate: ");
tipTxt = new JTextField(5);
owedLbl = new JLabel("Total owed:");
numOweLbl = new JLabel("$" + totalOwed);
container.add(totalLbl);
container.add(totalTxt);
container.add(taxLbl);
container.add(taxTxt);
container.add(tipLbl);
container.add(tipTxt);
container.add(owedLbl);
container.add(numOweLbl);
container.add(calcBtn);
container.add(exitBtn);
calcBtn.addActionListener(this);
exitBtn.addActionListener(this);
}
public void actionPerformed(ActionEvent event){
String buttonText = calcBtn.getText();
if (event.getActionCommand().equals(buttonText))
{
container.remove(numOweLbl);
totalDue = Double.parseDouble(totalTxt.getText());
taxRate = (Double.parseDouble(taxTxt.getText())/100) * totalDue;
tipRate = (Double.parseDouble(tipTxt.getText())/100) * totalDue;
totalOwed = totalDue + taxRate + tipRate;
container.add(numOweLbl);
validate();
}
else
{
System.exit(0);
validate();
}
}
}
''... 왜 내 가치관은 넘어지지 않는가? ' "-"지나가는 것 "이란 무엇을 의미합니까? 어느 값입니까? 귀하의 코드에서 귀하의 문제는 어디에 있습니까? 어떤 데이터가 예상됩니까? 어떤 데이터가 실제로 표시됩니까? – azurefrog
'validate()'무엇입니까? 또한 계산 버튼 이외의 버튼을 누를 때마다이 프로그램이 종료됩니다. 'System.exit()'는'actionPerformed()'메소드에서 제거되어야합니다. – hfontanez
'validate()'를 호출하기 전에 프로그램을 종료하는 것과 관련이있을 수 있습니까? –