代码如下~!!!但是画不出黑色的圆来 只有面板的背景颜色。我用netbeans写的
求救啊~!!!不胜感激~!!!
import java.awt.Color;
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
class LittleChessPanel extends javax.swing.JPanel {
public LittleChessPanel() {
initComponents();
setBackground(new java.awt.Color(0, 0, 255));
setSize(new java.awt.Dimension(50, 50));
}
void Componentpaint(Graphics g) {
super.paintComponents(g);
g2=(Graphics2D)g;
g2.fillOval(5,5,40,40);
g2.setColor(new java.awt.Color(0,0,0));
}
void setlittlechesscolor(Color c) {g2.setColor(c);
}
int x,y,state=0;
private Graphics2D g2;
int getx(){return x;}
void setx(int i){x=i;}
int gety(){return y;}
void sety(int j){y=j;}
int getstate(){return state;}
void setstate(int s){state=s;}
// <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">
private void initComponents() {
setAlignmentX(0.0F);
setAlignmentY(0.0F);
setPreferredSize(new java.awt.Dimension(50, 50));
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 50, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 50, Short.MAX_VALUE)
);
}// </editor-fold>
}
----------------解决方案--------------------------------------------------------
void Componentpaint(Graphics g) {
super.paintComponents(g);
g2=(Graphics2D)g;
g2.fillOval(5,5,40,40);
g2.setColor(new java.awt.Color(0,0,0));
}
你写错了,要自定义画法,要重写
protected void paintComponent(Graphics g)
----------------解决方案--------------------------------------------------------
我改了还是不行啊???
----------------解决方案--------------------------------------------------------
还有,你要先设颜色,再画圆最好
protected void paintComponent(Graphics g){
super.paintComponent(g);//调用父类的paintComponent就可以了,没必要调用s的
g2=(Graphics2D)g;
g2.setColor(new java.awt.Color(0,0,0));
g2.fillOval(5,5,40,40);
}
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
现在全部的是这样的
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JComponent;
public class LittleChessPanel extends javax.swing.JPanel{
int x,y,state=0;
private Graphics2D g2;
/** Creates a new instance of LittleChessPanel */
public LittleChessPanel() {initComponents();
}
private void initComponents() {
setBackground(new java.awt.Color(0, 0, 255));
setSize(new java.awt.Dimension(50, 50));
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g2.setColor(new java.awt.Color(0, 0, 0));
g2.fillOval(5, 5, 40, 40);
}
public void setlittlechesscolor(Color c) {g2.setColor(c);
}
int getx(){return x;}
void setx(int i){x=i;}
int gety(){return y;}
void sety(int j){y=j;}
int getstate(){return state;}
void setstate(int s){state=s;}
}
----------------解决方案--------------------------------------------------------
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(new java.awt.Color(0, 0, 0));
g.fillOval(5, 5, 40, 40);
}
你的程序编译都通不过
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(new java.awt.Color(0, 0, 0));
g.fillOval(5, 5, 40, 40);
}
你的程序编译都通不过
非常感谢~!!!!!!!
----------------解决方案--------------------------------------------------------