风决519 2021-05-18 11:29 采纳率: 0%
浏览 53

java图形界面编程---商品折扣金额计算

 我希望点击按钮能在弹出一个界面显示应付金额,但是点击按钮就报错,大佬们帮看看!

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();
        
    }
    
}

 

  • 写回答

4条回答 默认 最新

  • 关注

    JTextField textField1 = new JTextField();

    改为

    textField1 = new JTextField();

     

    这个代码有问题

    button1.addActionListener(e -> button1ActionPerformed(e));

    你都没有实现ActionListener接口,那里的按钮事件哦。

    评论

报告相同问题?

悬赏问题

  • ¥15 matlab支持向量机使用错误
  • ¥99 利用C/C++语言,使用TCP/IP协议,编一个简易聊天程序
  • ¥15 如何使用python 实现对串口/dev/ttyUSB0进行上锁,使得该串口只能在一个python脚本中使用,其他脚本不能操作这个串口
  • ¥15 晶体塑性有限元——Damask求解
  • ¥15 写出这个有没有人能写一下今天中午就要
  • ¥30 设计一个图形用户界面来控制你机械臂的运动
  • ¥30 3d打印机无法识别到SD卡,如何解决?(相关搜索:格式化)
  • ¥15 RPG游戏架构设计和开发方法
  • ¥15 前端返回pdf时不显示内容
  • ¥50 如何在不能联网影子模式下的电脑解决usb锁