在java小程序中按下按钮后绘制线
当我试着这样做时,出现了以下错误 令牌上的语法错误;预期 令牌上的语法错误;期望 在ButtonTest.actionPerformedButtonTest.java:58在java小程序中按下按钮后绘制线,java,applet,Java,Applet,当我试着这样做时,出现了以下错误 令牌上的语法错误;预期 令牌上的语法错误;期望 在ButtonTest.actionPerformedButtonTest.java:58 import java.awt.*; import java.awt.event.*;//step-1 import java.applet.Applet; public class ButtonTest extends Applet implements ActionListener//step-2 { Butt
import java.awt.*;
import java.awt.event.*;//step-1
import java.applet.Applet;
public class ButtonTest extends Applet implements ActionListener//step-2
{
Button b1,b2,b3;
Font f;
Graphics gc;
public void init()
{
b1=new Button("Request");
b2=new Button("Grant");
b3=new Button("Accept");
f=new Font("Arial",Font.BOLD,12);
b1.setFont(f);
b2.setFont(f);
b3.setFont(f);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
add(b1);
add(b2);
add(b3);
}
public void paint(Graphics gc)
{
gc.drawLine(100, 150, 100, 400);
gc.drawLine(300, 150, 300, 400);
gc.drawOval(95, 155, 10, 10); //1.1
gc.drawOval(95, 225, 10, 10); //1.2
gc.drawOval(95, 295, 10, 10); //1.3
gc.drawOval(95, 365, 10, 10); //1.4
gc.drawOval(295, 155, 10, 10); //2.1
gc.drawOval(295, 225, 10, 10); //2.2
gc.drawOval(295, 295, 10, 10); //2.3
gc.drawOval(295, 365, 10, 10); //2.4
}
public void myPaint(Graphics gc) // this line is not working*******???????
{
gc.drawLine(95, 155, 295, 225); //1.1 to 2.2
gc.drawLine(95, 295, 295, 225); //1.3 to 2.2
gc.drawLine(95, 295, 295, 365); //1.3 to 2.4
gc.drawString(">>>", 260, 220);
gc.drawString(">>>", 218, 255);
gc.drawString(">>>", 267, 365);
}
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource()==b1)
{
myPaint(gc); //this line is not working
setBackground(Color.red);
}
else if(ae.getSource()==b2)
{
setBackground(Color.green);
}
else{
setBackground(Color.blue);
}
}
}
/*<applet code="ButtonTest" width=300 height=300>
*/
错误是
令牌上的语法错误;预期
令牌上的语法错误;期望
在ButtonTest.actionPerformedButtonTest.java:58中,代码中有一些错误。编辑完代码后,请单击该行
import java.awt.*;
import java.awt.event.*;//step-1
import java.applet.Applet;
public class ButtonTest extends Applet implements ActionListener//step-2
{
Button b1,b2,b3;
Font f;
Graphics gc;
public void init()
{
b1=new Button("Request");
b2=new Button("Grant");
b3=new Button("Accept");
f=new Font("Arial",Font.BOLD,12);
b1.setFont(f);
b2.setFont(f);
b3.setFont(f);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
add(b1);
add(b2);
add(b3);
}
public void paint(Graphics gc)
{
gc.drawLine(100, 150, 100, 400);
gc.drawLine(300, 150, 300, 400);
gc.drawOval(95, 155, 10, 10); //1.1
gc.drawOval(95, 225, 10, 10); //1.2
gc.drawOval(95, 295, 10, 10); //1.3
gc.drawOval(95, 365, 10, 10); //1.4
gc.drawOval(295, 155, 10, 10); //2.1
gc.drawOval(295, 225, 10, 10); //2.2
gc.drawOval(295, 295, 10, 10); //2.3
gc.drawOval(295, 365, 10, 10); //2.4
}
public void myPaint(Graphics gc) // this line is not working*******???????
{
gc.drawLine(95, 155, 295, 225); //1.1 to 2.2
gc.drawLine(95, 295, 295, 225); //1.3 to 2.2
gc.drawLine(95, 295, 295, 365); //1.3 to 2.4
gc.drawString(">>>", 260, 220);
gc.drawString(">>>", 218, 255);
gc.drawString(">>>", 267, 365);
}
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource()==b1)
{
myPaint(gc); //this line is not working
setBackground(Color.red);
}
else if(ae.getSource()==b2)
{
setBackground(Color.green);
}
else{
setBackground(Color.blue);
}
}
}
/*<applet code="ButtonTest" width=300 height=300>
public void myPaint(Graphics gc)
工作。线路
myPaint();
不起作用,因为myPaint需要图形类型的参数。方法调用应该如下所示
myPaint(gc);
我不知道您真正想做什么,但是您可以通过调用
this.getGraphics()
在myPaint中不需要使用gc作为参数,也不需要将图形作为成员存储在类中
希望这有助于您使用哪种Java。在actionPerformedActionEvent ae方法中,定义另一个方法public void paintGraphics gc。这是不可能的1为什么要编写小程序?如果是老师指定的,请参考。2为什么使用AWT?请参阅,了解放弃AWT使用组件而支持Swing的许多好理由。