applet的问题???

applezh 2003-10-16 10:43:09
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.applet.*;
import java.util.*;


public class Calculation extends JApplet {

public void init() {

Container contentPane = getContentPane();
JPanel panel=new JPanel();
DigPane = new DigitalPane();

textField1=new JTextField(6);
textField2=new JTextField(6);

btnAdd=new JButton("+");
btnSub=new JButton("-");
btnMul=new JButton("*");
btnDiv=new JButton("/");

btnAdd.addActionListener(new
ActionListener()
{
public void actionPerformed(ActionEvent e)
{
int digit1=Integer.parseInt(
textField1.getText().trim());
int digit2=Integer.parseInt(
textField2.getText().trim());
DigPane.setDigit(String.valueOf
(digit1+digit2));
}
});


panel.add(textField1);
panel.add(textField2);
panel.add(btnAdd);
panel.add(btnSub);
panel.add(btnMul);
panel.add(btnDiv);

contentPane.add(panel,BorderLayout.SOUTH);
contentPane.add(DigPane,BorderLayout.CENTER);
//DigPane.setDigit("123456");
}

private DigitalPane DigPane;
private JTextField textField1;
private JTextField textField2;
private JButton btnAdd;
private JButton btnSub;
private JButton btnMul;
private JButton btnDiv;
}

这段代码 我的意图是 添加4个按钮“加,减,乘,除” 2个文本框
每当按下按钮时 调用DigitalPane对象的setDigit方法将文本显示
(DigitalPane已经通过测试)

DigPane是我创建的另一个类 setDigit方法专门用来显示传入的字符串参数的

但无法显示正确信息 请问我的代码有何问题???
谢谢!!!
...全文
41 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
endlessachingneed 2003-10-17
  • 打赏
  • 举报
回复
不是吧,楼主的意思是每个按键后面都跟着自己的ACTIONPERFORMED,所以不用单写一个ACTIONPERFROMED的method, 也不用区分按钮的事件
cql0007 2003-10-17
  • 打赏
  • 举报
回复
楼上两位老兄讲的不正确,楼主的监听是用了茂名内部类,不需要继承了.
楼主的代码问题应该在于:你的监听处理里面没有处理具体的按钮事件,系统并不知你每次按了哪个按钮
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == btnAdd){处理add逻辑}
if(e.getSource() == btnSub){处理sub逻辑}

int digit1=Integer.parseInt(
textField1.getText().trim());
int digit2=Integer.parseInt(
textField2.getText().trim());
DigPane.setDigit(String.valueOf
(digit1+digit2));
}

Yanbin_Q 2003-10-17
  • 打赏
  • 举报
回复
使用了内部匿名类的实例直接作为监听器注册是不用implements ActionListener的
implements ActionListener的目的只是运用多态,让自己的实例同时也是ActionListener的实例,可以注册为监听器addActionListener(this)的。

看看观察者模式的运用

楼主的代码有没有更完整的
endlessachingneed 2003-10-17
  • 打赏
  • 举报
回复
public class Calculation extends JApplet implements ActionListener{

}
applezh 2003-10-17
  • 打赏
  • 举报
回复
谢谢 各位我的问题 自己已经解决了!!!
wxh512 2003-10-17
  • 打赏
  • 举报
回复
你加了事件监听但你的主类没有继承事件监听类
必须继承

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧