快乐打码 2023-05-09 16:10 采纳率: 70.6%
浏览 37
已结题

用java实现计算器的功能

img

img


想做成图1的样子结果做成了图2的样子,加的文本框好像不起作用,请问我这是哪出问题了,要怎么改才能达到想要的效果


package test;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.xml.soap.Text;

public class test1 extends JFrame{
    public test1() {
        
        //TextArea text=new TextArea();
        JPanel jpanel1=new JPanel();
        JPanel jpanel=new JPanel(new GridLayout(5,4));
        this.add(jpanel1);
        this.add(jpanel);
        String str1 = "0";
        String str2 = "0"; 
        String signal = "+"; 
        String result = "";
        int k1 = 1;
        int k2 = 1;
        int k3 = 1;
        int k4 = 1;
        int k5 = 1;
        JButton store;  // store的作用类似于寄存器,用于记录是否连续按下符号键
        @SuppressWarnings("rawtypes")
        Vector vt = new Vector(20, 10);
        JLabel jlabel1=new JLabel();
        JLabel jlabel2=new JLabel();
        JTextField result_TextField = new JTextField(result, 20);
        JButton clear_Button = new JButton("C");
        JButton button0 = new JButton("0");
        JButton button1 = new JButton("1");
        JButton button2 = new JButton("2");
        JButton button3 = new JButton("3");
        JButton button4 = new JButton("4");
        JButton button5 = new JButton("5");
        JButton button6 = new JButton("6");
        JButton button7 = new JButton("7");
        JButton button8 = new JButton("8");
        JButton button9 = new JButton("9");
         // 计算命令按钮,加减乘除以及小数点、正负号等
        JButton button_Dian = new JButton(".");
        JButton button_jia = new JButton("+");
        JButton button_jian = new JButton("-");
        JButton button_cheng = new JButton("*");
        JButton button_chu = new JButton("/");
        JButton button_dy = new JButton("=");
    JButton button_zhengfu = new JButton("+/-");
    jpanel1.add(result_TextField);
    jpanel.add(jlabel1);
    jpanel.add(jlabel2);
    jpanel.add(clear_Button);
    jpanel.add(button_dy);
    jpanel.add(button0);
    jpanel.add(button1);
    jpanel.add(button2);
    jpanel.add(button_jia);
    jpanel.add(button3);
    jpanel.add(button4);
    jpanel.add(button5);
    jpanel.add(button_jian);
    jpanel.add(button6);
    jpanel.add(button7);
    jpanel.add(button8);
    jpanel.add(button_cheng);
    jpanel.add(button9);
    jpanel.add(button_zhengfu);
    jpanel.add(button_Dian);
    jpanel.add( button_chu);
    
    
    
    class Listener implements ActionListener {

        @Override
        public void actionPerformed(ActionEvent e) {
            // TODO Auto-generated method stub
            
        }
    }
    //Listener_signal类中编写了运算符号键的响应逻辑
        class Listener_signal implements ActionListener {

        @Override
        public void actionPerformed(ActionEvent e) {
            // TODO Auto-generated method stub
            
        }
    }
    //Listener_clear类中编写了清除键的响应逻辑
        class Listener_clear implements ActionListener {

            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                
            }
    }
    //Listener_dy类中编写的是等于号键的响应逻辑
        class Listener_dy implements ActionListener {

            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                
            }
    }
    //Listener_xiaos类中编写的是小数点键的相应逻辑
    class Listener_xiaos implements ActionListener {

        @Override
        public void actionPerformed(ActionEvent e) {
            // TODO Auto-generated method stub
            
        }
    }

    // calc()方法中编写了计算逻辑的实现。
        //public void cal() {
    //}
    
    this.setBounds(300, 300, 400, 400);
    this.setVisible(true);
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    this.setTitle("计算器");
    //this.add(text, BorderLayout.NORTH);
        
        
        
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
     new test1();
    }

}

  • 写回答

2条回答 默认 最新

  • pzzhao 2023-05-09 21:23
    关注

    你没有设置按钮字体样式 ,比如像下面这样设置

    button .setFont(new java.awt.Font("华文行楷", 1, 15));

    本回答被专家选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月31日
  • 专家已采纳回答 5月23日
  • 创建了问题 5月9日

悬赏问题

  • ¥15 鼠标右键,撤销删除 复制 移动,要怎样删除
  • ¥15 使用MATLAB进行余弦相似度计算加速
  • ¥15 服务器安装php5.6版本
  • ¥15 我想用51单片机和数码管做一个从0开始的计数表 我写了一串代码 但是放到单片机里面数码管只闪烁一下然后熄灭
  • ¥20 系统工程中,状态空间模型中状态方程的应用。请猛男来完整讲一下下面所有问题
  • ¥15 我想在WPF的Model Code中获取ViewModel Code中的一个参数
  • ¥15 arcgis处理土地利用道路 建筑 林地分类
  • ¥20 使用visual studio 工具用C++语音,调用openslsx库读取excel文件的sheet问题
  • ¥100 寻会做云闪付tn转h5支付链接的技术
  • ¥15 DockerSwarm跨节点无法访问问题