计算机小菜鸟 ~ 2022-05-02 13: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 13:30
    关注

    为啥我可以呢。。。。

    img

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

报告相同问题?

问题事件

  • 系统已结题 5月9日
  • 已采纳回答 5月2日
  • 创建了问题 5月2日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部