01/10/2018, 09:15
setText cho 4 textField nhưng chỉ thực hiện được 2 textfield trong java swing
HI mấy pro ,
Code java swing của em , khi nhấn nút button thì em sẽ setText cho 4 textfield . Nhưng khi run thì không setText hoàn toàn 4 textfield
Mới tập tành swing thì yêu cầu của thầy , mong mấy a e chỉ giáo
đât là code của em
package huyle.thuchanhjava.lab4;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Component;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.nio.ByteOrder;
import javax.swing.*;
public class Bai5 extends JFrame implements ActionListener {
Button btnCompute = new Button("Compute Payment");
TextField tfInterestRate = new TextField();
TextField tfNumberofYears = new TextField();
TextField tfLoanAmount = new TextField();
TextField tfMonthlyPayment = new TextField();
TextField tfTotalPayment = new TextField();
public Bai5() {
createFrame();
btnCompute.addActionListener(this);
}
public void createFrame() {
// TODO Auto-generated method stub
setTitle("LoanCalculator");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 500);
// add panel content fo JFrame
add(createMainJPanel());
setLocationRelativeTo(null);
setVisible(true);
}
private JPanel createMainJPanel() {
JPanel mainjpanel = new JPanel(new BorderLayout(10, 10));
mainjpanel.add(new Label("Enter loan amount , interest rate, and years "), BorderLayout.NORTH);
mainjpanel.add(createJPanel1(), BorderLayout.CENTER);
mainjpanel.add(createJPanel2(), BorderLayout.SOUTH);
return mainjpanel;
}
private JPanel createJPanel2() {
// TODO Auto-generated method stub
JPanel panel2 = new JPanel();
panel2.setLayout(new FlowLayout(FlowLayout.RIGHT));
panel2.add(btnCompute);
return panel2;
}
public JPanel createJPanel1() {
// TODO Auto-generated method stub
GridLayout gl = new GridLayout(5, 2, 1, 1);
JPanel panel1 = new JPanel(gl);
panel1.add(new Label("Annual Interest Rate"));
panel1.add(tfInterestRate);
panel1.add(new Label("Number of Years"));
panel1.add(tfNumberofYears);
panel1.add(new Label("Loan Amount"));
panel1.add(tfLoanAmount);
panel1.add(new Label("Monthly Payment"));
panel1.add(tfMonthlyPayment);
panel1.add(new Label("Total Payment"));
panel1.add(tfTotalPayment);
return panel1;
}
public static boolean isNumeric(String str)
{
try
{
double d = Double.parseDouble(str);
}
catch(NumberFormatException nfe)
{
return false;
}
return true;
}
public boolean checkTextfield()
{
if(isNumeric(tfInterestRate.getText()) && isNumeric(tfNumberofYears.getText()) && isNumeric(tfLoanAmount.getText()) && isNumeric(tfMonthlyPayment.getText()))
{
return true;
}
return false;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Bai5 fr = new Bai5();
fr.setDefaultCloseOperation(EXIT_ON_CLOSE);
fr.pack();
fr.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if (e.getSource() == btnCompute) {
// if(checkTextfield())
// {
// JOptionPane.showMessageDialog(null, "Mời bạn nhập lại thông tin", "Thông báo", JOptionPane.CLOSED_OPTION);
// tfInterestRate.setText(null);
// tfNumberofYears.setText(null);
// tfLoanAmount.setText(null);
// tfMonthlyPayment.setText(null);
// tfTotalPayment.setText(null);
// }
if(checkTextfield() == false )
{
tfLoanAmount.setText("");
tfMonthlyPayment.setText("");
tfInterestRate.setText(" ");
tfNumberofYears.setText(" ");
JOptionPane.showMessageDialog(null, "Mời bạn nhập lại thông tin", "Thông báo", JOptionPane.CLOSED_OPTION);
}
else {
int money = Integer.parseInt(tfLoanAmount.getText() + tfMonthlyPayment.getText());
tfTotalPayment.setText(String.valueOf(money));
}
}
}
}
Bài liên quan
Thế em biết em đang code bài gì không? Mục đích là để làm gì?
à em đang code tính toán tiền lãi hàng tháng , mà công thức tính tiền hàng tháng thầy chưa đưa nên em chưa tính tới
Nhưng em setText 4 textfield nhưng sao nó ko setText 1 lần cho 4 textfield nhĩ
Nếu nhập cả chữ thì nó set trắng hết cả 4 mà em
không anh ơi , e Run , test nhiều trường hợp lỗi mà chẳng thấy set trắng hết cả 4 : (