当前位置: 代码迷 >> J2SE >> 绘图绘不出来,咋回事
  详细解决方案

绘图绘不出来,咋回事

热度:137   发布时间:2016-04-24 01:18:42.0
绘图绘不出来,怎么回事?
我根据视频教学来写的代码,可是就是绘图画的圆显示不出来,怎么回事?其他一切正常。
代码如下:
g.fillOval(x, y, 30, 30);

------解决方案--------------------
这句话应该写在JComponent的paintComponent方法里面
Java code
import java.awt.*;import java.awt.event.*;import javax.swing.*;public class TestComponent extends JComponent{    public TestComponent()    {        }        public void paintComponent(Graphics g)    {        int x = 0;        int y = 0;        g.fillOval(x, y, 30, 30);    }        public static void main(String[] args)    {        JFrame frame = new JFrame();        frame.add(new TestComponent());        frame.setSize(400, 300);        frame.setVisible(true);        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    }}
------解决方案--------------------
这位哥们,你给的信息太少 了,怎么给你找原因啊?“其他一切正常。”可能吗?


------解决方案--------------------
把代码贴出来看看吧~
------解决方案--------------------
这是继承了Frame或者实现了相关的接口,需要重写paint方法,最好的方式去copy,用eclipse也有相关提示的,举例:
import java.awt.*;
public class TestPaint {
public static void main(String[] args) {
new PaintFrame().launch();
}
}

class PaintFrame extends Frame{
public void launch(){
setBounds(200,200,640,480);//设置窗口的位置和大小
setVisible(true);
}
public void Paint(Graphics g){ //需要重写paint方法,不能错!
Color c = g.getColor();
g.setColor(Color.blue);
g.fillOval(50, 55, 30, 40);
g.setColor(Color.RED);
g.fillRect(80, 80, 40, 50);
g.setColor(c);

}
}
  相关解决方案