木一叶liuyue 2020-11-07 16:31 采纳率: 0%
浏览 10

Java swing 对于button的监听好像有错误,文本框输入之后点击button无效

package Example;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.TextEvent;
import javax.swing.*;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;

public class Rent extends JFrame {
    private String number=null;// 类型编号
    private String day=null;
    private int money=9999;
private int x;
private int days;
    public JPanel createPW() {
        GridLayout gridlayout = new GridLayout(7, 1, 5, 5);
        JPanel pw = new JPanel();

        JLabel jlb1 = new JLabel("租赁类型编号");
        JTextField jtf1 = new JTextField(10);
        
        JLabel jlb2 = new JLabel("租赁的天数");
        JTextField jtf2 = new JTextField(10);
        
        pw.setLayout(gridlayout);
        pw.add(jlb1);
        pw.add(jtf1);
        pw.add(jlb2);
        pw.add(jtf2);

        this.add(pw);
        this.setSize(600, 300);
        this.setVisible(true);
        
        // number = jtf1.getText();
         //day=jtf2.getText();
    
        return pw;
    }

    public JPanel createPE() {
        JPanel pe = new JPanel();

        setBounds(0, 0, 600, 200);
        String[] columnNames = { "品牌", "座位数", "租赁金", "编号" };
        String[][] tableValues = { { "Audi", "4", "1000", "1" }, { "BMW", "4", "1000", "2" },
                { "DW", "6", "1800", "3" }, { "ShuChi", "10", "2000", "4" }, { "ShuChi", "16", "3500", "5" },
                { "DaYu", "20", "3500", "6" }, { "DaYu", "16", "3200", "7" } };
        JTable table = new JTable(tableValues, columnNames);
        JScrollPane scrollPane = new JScrollPane(table);
        getContentPane().add(scrollPane, BorderLayout.CENTER);
        this.setVisible(true);

        return pe;
    }

    public JPanel createPS() {
        GridLayout gridlayout = new GridLayout(3, 2, 2, 2);
        JPanel ps = new JPanel();
        JButton jbt1 = new JButton("确认");
        JButton jbt2 = new JButton("取消");
        JLabel jlb1 = new JLabel("一共需要花费的金额是(TOTAL MONEY):");
        JTextField jtf3 = new JTextField(10);
        ps.setLayout(gridlayout);
        ps.add(jbt1);
        ps.add(jbt2);
        ps.add(jlb1);
        ps.add(jtf3);
        this.add(ps);
        this.setSize(600, 300);
        
        jbt1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
            
                    int x=Integer.parseInt(number);
                    int days=Integer.parseInt(day);

                switch(x)
                {
                case 0:
                    money=9999;
                case 1:
                case 2:
                 money = days*1000;
                    break;
                case 3:
                     money = days*1800;
                        break;
                case 4:
                    money = days*2000;
                    break;
                case 5:
                case 6:
                    money = days*3500;
                    break;
                case 7:
                    money = days*3200;
                    break;
                }
                    
            }
        });
        jbt2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                money=0;
            }
        });
        String money1=Integer.toString(money);
        //System.out.println(money);
        //System.out.println(money1);
        //String money1=String.valueOf(money);
        
        jtf3.setText(money1);
        return ps;
    }

    public Rent() {
        this.add(createPW(), BorderLayout.WEST);
        this.add(createPE(), BorderLayout.EAST);
        this.add(createPS(), BorderLayout.SOUTH);
        
        
        
    }

    public static void main(String args[]) {
        new Rent();
    }
}
 

  • 写回答

1条回答 默认 最新

  • 捏造的信仰 2023-04-17 15:25
    关注

    switch(x) 处打个断点,看 x 的值是多少。

    评论

报告相同问题?

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测