一个JAVA问题,事件监听接口怎么不能编译,但是去掉就可以了呢?(我必须要这个监听接口,怎样解决)

shijiansupervisor 2003-06-17 11:35:51
import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class Grade extends Applet implements ActionListener
{
//Frame
Frame f = new Frame();
BorderLayout br = new BorderLayout();
Panel P1 = new Panel();
Panel P2 = new Panel();
Panel P3 = new Panel();
Panel P4 = new Panel();

Label Ltit = new Lable("学生成绩表");
Label Lyw = new Lable("语文");
Label Lsx = new Lable("数学");
Label Lls = new Lable("历史");
Label Ldl = new Lable("地理");
Label Lyy = new Lable("英语");

Label Ladd = new Label("总分");
Label Lavg = new Label("平均分");
Label Laddss = new Label("_____");
Label Lavgss = new Label("_____");

TextField txtyw = new TxtField("",3);
TextField txtsx = new TxtField("",3);
TextField txtyy = new TxtField("",3);
TextField txtls = new TxtField("",3);
TextField txtdl = new TxtField("",3);

Button Badd = new Button("计算总分");
Button Bavg = new Button("计算平均分");

public void init()
{
f.setLayout(br);
P1.add(Ltit);
P1.setLayout(new FlowLayout());
P1.setLayout(new FlowLayout(3,4));
P1.setLayout(new FlowLayout(1,4));
P1.setLayout(new FlowLayout(1,2));

P2.add(Lyw);
P2.add(txtyw);
P2.add(Lsx);
P2.add(txtyw);
P2.add(Lyy);
P2.add(txtyy);
P2.add(Lls);
P2.add(txtls);
P2.add(Ldl);
P2.add(txtdl);

P3.add(Ladd);
P3.add(Laddss);
P3.add(Lavg);
P3.add(Lavgss);

P4.add(Badd);
P4.add(Bavg);

add(P1);
add(P2);
add(P3);
add(P4);
//
}
public void paint(Graphics g)
{
g.drawString("",20,20);
}
...全文
34 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
geyf 2003-06-17
  • 打赏
  • 举报
回复
这段代码的错误不少,给你改了,看看。而且功能也加上了:)
import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class Grade extends Applet implements ActionListener
{
//Frame
Frame f = new Frame();
BorderLayout br = new BorderLayout();
Panel P1 = new Panel();
Panel P2 = new Panel();
Panel P3 = new Panel();
Panel P4 = new Panel();

Label Ltit = new Label("学生成绩表");
Label Lyw = new Label("语文");
Label Lsx = new Label("数学");
Label Lls = new Label("历史");
Label Ldl = new Label("地理");
Label Lyy = new Label("英语");

Label Ladd = new Label("总分");
Label Lavg = new Label("平均分");
Label Laddss = new Label("_____");
Label Lavgss = new Label("_____");

TextField txtyw = new TextField("",3);
TextField txtsx = new TextField("",3);
TextField txtyy = new TextField("",3);
TextField txtls = new TextField("",3);
TextField txtdl = new TextField("",3);

Button Badd = new Button("计算总分");
Button Bavg = new Button("计算平均分");

public void init()
{
f.setLayout(br);
P1.add(Ltit);
P1.setLayout(new FlowLayout());

P2.add(Lyw);
P2.add(txtyw);
P2.add(Lsx);
P2.add(txtsx);
P2.add(Lyy);
P2.add(txtyy);
P2.add(Lls);
P2.add(txtls);
P2.add(Ldl);
P2.add(txtdl);

P3.add(Ladd);
P3.add(Laddss);
P3.add(Lavg);
P3.add(Lavgss);

P4.add(Badd);
P4.add(Bavg);
Badd.addActionListener(this);
Bavg.addActionListener(this);
add(P1);
add(P2);
add(P3);
add(P4);
//
}
int sum=0;
public void actionPerformed(ActionEvent e) {

if(e.getSource()==Badd){
try{
int num1=Integer.parseInt(txtyw.getText().trim());
int num2=Integer.parseInt(txtsx.getText().trim());
int num3=Integer.parseInt(txtyy.getText().trim());
int num4=Integer.parseInt(txtls.getText().trim());
int num5=Integer.parseInt(txtdl.getText().trim());
sum=num1+num2+num3+num4+num5;
Laddss.setText(""+sum);
}catch(Exception en){
Laddss.setText("wrong!");
}
}else if(e.getSource()==Bavg)
Lavgss.setText(""+sum/5);
}

public void paint(Graphics g)
{
g.drawString("",20,20);
}
}
relive 2003-06-17
  • 打赏
  • 举报
回复
没有
public void actionPerformed(ActionEvent e){}
所以编译不通过。

没有
Badd.addActionListener(this);
Bavg.addActionListener(this);
所以即使编译通过了也不会有反应。

另,Badd、Bavg这些东西最好不要用大写开头。
topsonstar 2003-06-17
  • 打赏
  • 举报
回复
dynku(随风来去.cn)说得对。。

没有实现ActionListener接口的
public void actionPerformed(ActionEvent e)
方法
随风来去 2003-06-17
  • 打赏
  • 举报
回复
你是不是没有实现public void actionPerformed(ActionEvent ae)方法啊
实现他,可以在里面通过 ae.getSource()方法获得事件来源对象,如果是按钮,就加所有的内容并赋值。给按钮添加监听器Badd.addActionListener(this)
shijiansupervisor 2003-06-17
  • 打赏
  • 举报
回复
如果要将5个文本框中的内容通过按钮的点击事件加起来赋值给“Laddss”该怎么办呢?
内容概要:本文详细探讨了机组组合优化模型的构建,旨在通过合理安排各类发电机组的启停计划和优化出力分配,实现电力系统在经济性和稳定性上的最佳平衡。文章首先介绍了电力系统的四大主要组件——传统火电机组、风电机组、光伏机组和储能系统的参数及运行特性。接着,围绕最小化系统总运行成本这一目标,设计了优化目标函数,并明确了包括功率平衡约束、机组出力上下限约束、风光发电功率约束、弃风弃光约束、爬坡速率约束、储能系统荷电状态约束、充放电功率约束和充放电互斥约束在内的多项约束条件。最后,文章列出了求解机组组合优化模型所需的关键变量,如传统机组的开停状态、机组出力、启停成本、风电光伏实际出力、弃风弃光比例及储能系统的充放电功率和荷电状态,以实现系统的经济调度和可再生能源的最大化利用。 适合人群:从事电力系统研究、规划和调度工作的工程师和技术人员,以及对电力系统优化感兴趣的科研人员。 使用场景及目标:①帮助电力系统工程师理解不同类型发电机组的特点及其对系统稳定性、经济性和环保性的影响;②为制定合理的电力系统调度策略提供理论依据和技术支持;③促进可再生能源的有效整合,提高电力系统的灵活性和可靠性。 其他说明:本文提供的模型和方法不仅适用于当前的电力系统,也可为未来含高比例可再生能源接入的电力系统提供参考。文中涉及的具体数学公式和参数设定为实际应用提供了详细的指导,有助于提升电力系统的运行效率和经济效益。

62,635

社区成员

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

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