我希望点击按钮能在弹出一个界面显示应付金额,但是点击按钮就报错,大佬们帮看看!
import com.sun.deploy.panel.RuleSetViewerDialog;
import javafx.scene.input.InputMethodTextRun;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import static javax.swing.JOptionPane.showMessageDialog;
public class MyFrame extends JFrame {
public MyFrame() {
initComponents();
}
private JTextField textField1;
private void initComponents() {
JLabel label1 = new JLabel();
JTextField textField1 = new JTextField();
JButton button1 = new JButton();
setVisible(true);
setTitle("消费金额");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocation(600,300);
setSize(500, 400);
Container contentPane = getContentPane();
contentPane.setLayout(null);
label1.setText("请输入金额");
label1.setFont(label1.getFont().deriveFont(label1.getFont().getSize() + 7f));
contentPane.add(label1);
label1.setBounds(180, 40, 165, 55);
contentPane.add(textField1);
textField1.setBounds(130, 115, 285, 55);
button1.setText("确定");
button1.setFont(button1.getFont().deriveFont(button1.getFont().getSize() + 7f));
button1.addActionListener(e -> button1ActionPerformed(e));
contentPane.add(button1);
button1.setBounds(170, 205, 200, 85);
}
private void button1ActionPerformed(ActionEvent e) {
String s = textField1.getText();
int N = Integer.parseInt(s);
double sum = N;
if(N < 500){
showMessageDialog(this,"您需要支付的金额为:"+sum);
System.out.printf("%.2f",sum);
System.out.println();
}else if(N < 1000){
JOptionPane.showMessageDialog(this,"您需要支付的金额为:"+sum*0.95);
System.out.printf("%.2f",sum*0.95);
System.out.println();
}else if(N < 1500){
showMessageDialog(this,"您需要支付的金额为:"+sum*0.90);
System.out.printf("%.2f",sum*0.90);
System.out.println();
}else if(N < 2500){
showMessageDialog(this,"您需要支付的金额为:"+sum*0.85);
System.out.printf("%.2f",sum*0.85);
System.out.println();
}else{
showMessageDialog(this,"您需要支付的金额为:"+sum*0.80);
System.out.printf("%.2f",sum*0.80);
System.out.println();
}
}
public static void main(String[] args) {
new MyFrame();
}
}