计算机小菜鸟 ~ 2022-05-02 21:10 采纳率: 58.8%
浏览 48
已结题

请问这个java题哪里出问题了呀

该怎么去修改这个代码,哪里出问题了,为什么我运行不出来呀

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
 
import javax.swing.JFrame;
 
public class BaseFrame extends JFrame{
 
    public BaseFrame (String title)
    {
        setLayout(null);
        setTitle(title);
        setSize(800,300);
        this.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
            System.exit(0);
            }
        });//关闭窗口的匿名类
        setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
        
    }
    public void showMe(){
        setVisible(true);
    }
    
 
    
 
}

import java.awt.GridLayout;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
 
import javax.swing.*;
public class Calc {
    public static void main(String[] args) {
        JPanel j=new JPanel();
        BaseFrame f=new BaseFrame("hello");
        j.setSize(800,50);
        j.setLayout(new GridLayout(1,5,5,55));
        final JTextField t1=new JTextField();
        final JTextField t2=new JTextField();
        final JTextField t3=new JTextField();
        final JComboBox cb=new JComboBox();
        cb.addItem("+");
        cb.addItem("-");
        cb.addItem("*");
        cb.addItem("/");
        JButton btn =new JButton("=");
        j.add(t1);
        j.add(cb);
        j.add(t2);
        j.add(btn);
        j.add(t3);
        j.setVisible(true);
        f.add(j);
        f.showMe();
//        final String s = cb.getSelectedItem().toString();   说明 不能首先或、获得cb 的值因为  代码的执行从上到下 永远只能获取  到第一个item “+”  而 后面的事件记录无法实现
        btn.addActionListener(new ActionListener() {    
            public void actionPerformed(ActionEvent e) {
                
            
                if(cb.getSelectedItem().toString().equals("+")){
                int c=0;       
                int num1 = Integer.parseInt(t1.getText());
                int num2 = Integer.parseInt(t2.getText());
                c=num1+num2;
                String s1=Integer.toString(c);
                t3.setText(s1);
                }
                else if(cb.getSelectedItem().toString().equals("-")){
                    int c=0;       
                    int num1 = Integer.parseInt(t1.getText());
                    int num2 = Integer.parseInt(t2.getText());
                    c=num1-num2;
                    String s1=Integer.toString(c);
                    t3.setText(s1);
 
                }
                else if(cb.getSelectedItem().toString().equals("*")){
                    int c=0;       
                    int num1 = Integer.parseInt(t1.getText());
                    int num2 = Integer.parseInt(t2.getText());
                    c=num1*num2;
                    String s1=Integer.toString(c);
                    t3.setText(s1);
 
                }
                else if(cb.getSelectedItem().toString().equals("/")){
                    int c=0;       
                    int num1 = Integer.parseInt(t1.getText());
                    int num2 = Integer.parseInt(t2.getText());
                    c=num1/num2;
                    String s1=Integer.toString(c);
                    t3.setText(s1);
 
                }
                else {
                    System.out.print("No");
                }
            }
        });
    }
}

img

  • 写回答

1条回答 默认 最新

  • 溪风沐雪 2022-05-02 21:30
    关注

    为啥我可以呢。。。。

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月10日
  • 已采纳回答 5月2日
  • 创建了问题 5月2日

悬赏问题

  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler