我是一个java菜菜蔡鸟,用java编写计算器,为什么按c却是清除又显示c,这种情况下怎么做,在线等,不急,,还有一些算法什么的也不会做?请大神教教我。谢谢了

本文介绍了一个简单的计算器GUI界面的实现过程,使用Java Swing构建界面,并初步实现了按钮点击事件监听。作者在创建计算器的过程中遇到了事件源和监视器的编写难题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是实现类

package games;


import java.awt.Color;


import javax.swing.JFrame;


public class game2 {


public static void main(String[] args) {
game2_2 win=new game2_2();
win.setTitle("计算器");
win.setBackground(Color.cyan);
win.setBounds(20,20,350,400);
win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
win.setVisible(true);
}


}

这是我做的计算器的界面,可是事件源和监视器不知道怎么写。我一直搞不懂,我看了别人做的,照猫画虎,结构一样却是怎么都出错,,望大神随意提点一下,随便一下都可以。看书也看不懂。在这里谢过了。

package games;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.DefaultPersistenceDelegate;
import java.util.ArrayList;
import java.util.List;


import javax.swing.*;
import javax.swing.border.EmptyBorder;
import javax.xml.transform.Result;


import Textw.emmm;


public class game2_2 extends JFrame implements ActionListener{
    String key[]={"7", "8", "9", "/" , "4", "5", "6",
"*", "1", "2", "3", "-", "0", ".", "+", "=" };
    JButton k[]=new JButton[key.length];
private double resultNum =0.0;
List<String>lists=new ArrayList<String>();
JTextField txt; 
boolean firstnumber = true;
public game2_2(){
init();
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
void init(){
JPanel h=new JPanel();
h.setLayout(new GridLayout(4,4));
 
   for(int i=0;i<key.length;i++){
   k[i]=new JButton(key[i]);
   h.add(k[i]);
   k[i].setBackground(Color.white);
   k[i].addActionListener(this);
   }
   JPanel h2=new JPanel();  
   txt=new JTextField(13);
   h2.add(txt);
   JButton c=new JButton("c");
   c.addActionListener(this);
   h2.add(c);
   add(h2,BorderLayout.NORTH);
   add(h,BorderLayout.CENTER);
   
   
}
public void actionPerformed(ActionEvent e) {
String text=txt.getText();
String label=e.getActionCommand();
if(label.equals("c")){
txt.setText("");
}
else if(label.equals("0123456789."));
txt.setText(txt.getText()+label);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值