JAVA关于图形操作的很简单的问题

来源:百度知道 编辑:UC知道 时间:2024/05/18 01:28:09
怎样使得下面代码能够画图,我用Eclipse,运行了却没图

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Chess extends JLabel
{
private String name;
private Color chessColor;
private String player;
private int round;
public Chess(String name,String player,Color chessColor,int round)
{
this.name=name;
this.player=player;
this.chessColor=chessColor;
this.round=round;
setBackground(Color.white);
}
public void paint(Graphics g)
{
g.setColor(Color.green);
g.fillOval(1, 1, round-1, round-1);
g.setColor(chessColor);
g.setFont(new Font("隶书",Font.BOLD,40));
g.drawString(name,10,round-18);
g.setColor(Color.yellow);
g.drawOval(1,1,round-1,round-1);
}
public int getWidth(){return round;}
public int getHeight(){return round;}
public String getName(){return name;}
public Color getChessColor

JLabel需要容器吧,你把它放在一个容器里试试,比如JFrame,还有swing组件需要用getContentPane()获得内容面板

可能需要循环更新Chess类

swing组件不应该重写paint,而是要重写paintComponent。你把paint函数名改一下就行了。

serializable 类 Chess 未声明类型为 long 的静态终态 serialVersionUID 字