语法错误

cxxlp 2008-10-17 04:47:40
    public void paint(Graphics g){
super.paint(g);

g.setColor(Color.RED);
g.drawString("hello java", x,y);


}

public void ac(){


paint(Graphics g);


}




错误提示:Unresolved compilation problem:
Syntax error on token "g", delete this token


不能在ac中这样调用paint方法吗,,,,应该怎么调用?
...全文
85 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ooo19841080xinxin 2008-10-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 cxxlp 的帖子:]
Java codepublicvoidpaint(Graphics g){super.paint(g);

g.setColor(Color.RED);
g.drawString("hello java", x,y);


}publicvoidac(){


paint(Graphics g);


}


错误提示:Unresolved compilation problem:
Syntax error on token "g", delete this token


不能在ac中这样调用paint方法吗,,,,应该怎么调用?

[/Quote]
你那是方法调用
实例化一个Graphics仍进去
cxxlp 2008-10-17
  • 打赏
  • 举报
回复
好长时间没搞java了,忘记了,不好意思。。。。。直接调用repaint方法..................
cxxlp 2008-10-17
  • 打赏
  • 举报
回复
那我现在要怎么写才能在一个方法中调用paint方法
zhujiahill 2008-10-17
  • 打赏
  • 举报
回复
paint(Graphics g)java中还有这种写法吗?调用只能paint(g),而且你在ac()中g的值从哪来?
以梦为马 2008-10-17
  • 打赏
  • 举报
回复
public void ac(){
paint(Graphics g);
}
“paint(Graphics g);”是方法调用而不是方法定义,
正确的写法应该是:
public void ac(){
paint(g);
}

但这样问题来了,
你这里的g并未在外面定义(并不是类的属性)。





cxxlp 2008-10-17
  • 打赏
  • 举报
回复
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class lcd extends JFrame{


JPanel p = new JPanel();

private JButton b1 = new JButton("Setup");
private JButton b2 = new JButton("Hide");

private Image icon;
// Thread t1 = new Thread(new t1(this));

private int x=0;
private int y=40;
Graphics gg;

public lcd(){

icon=Toolkit.getDefaultToolkit().getImage("1.gif");
Container con = this.getContentPane();
con.setLayout(null);


b1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
b1_button(e);
}
});
b2.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

b2_button(e);

}

});



p.setBackground(Color.BLACK);

p.setBounds(0, 85, 400, 50);
b1.setBounds(340, 0, 60, 40);
b1.setBackground(Color.BLACK);
b1.setForeground(Color.WHITE);
b1.setBorder(null);



b2.setBounds(280, 0, 60, 40);
b2.setBackground(Color.BLACK);
b2.setForeground(Color.WHITE);
b2.setBorder(null);





p.add(b2);


p.setLayout(null);

p.add(b1);

con.add(p);

con.setBackground(Color.WHITE);


// this.setIconImage(icon)


}

public void paint(Graphics g){
super.paint(g);

g.setColor(Color.RED);
g.drawString("hello java", x,y);


}

public void ac(){


paint(Graphics g);


}


public void b1_button(ActionEvent e){



lcdcomset lc = new lcdcomset();
lc.setVisible(true);



}


public void b2_button(ActionEvent e){


ac();



}

public static void main(String args[]){



lcd lc= new lcd();
lc.setSize(400,150);
int windowWidth = lc.getWidth(); //获得窗口宽
int windowHeight = lc.getHeight(); //获得窗口高
Toolkit kit = Toolkit.getDefaultToolkit(); //定义工具包
Dimension screenSize = kit.getScreenSize(); //获取屏幕的尺寸
int screenWidth = screenSize.width; //获取屏幕的宽
int screenHeight = screenSize.height; //获取屏幕的高

lc.setLocation(screenWidth/2-windowWidth/2, screenHeight/2-windowHeight/2);



lc.setVisible(true);


}


}

cxxlp 2008-10-17
  • 打赏
  • 举报
回复
以上三个写法都不行........我的整个的程序如下
saiche05 2008-10-17
  • 打赏
  • 举报
回复
public static void paint(Graphics g){
super.paint(g);

g.setColor(Color.RED);
g.drawString("hello java", x,y);


}

public void ac(){


paint(g);


}
zhujiahill 2008-10-17
  • 打赏
  • 举报
回复
应该是paint(g),不用把类型写进去。。。
junjun1984 2008-10-17
  • 打赏
  • 举报
回复

public static void paint(Graphics g){
super.paint(g);

g.setColor(Color.RED);
g.drawString("hello java", x,y);


}

public void ac(){


paint(Graphics g);


}

62,614

社区成员

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

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