代码如下publicclassNewappextendsJFrame{publicstaticvoidmain(String[]args){JFramej=newNewapp();j.setBounds(200,200,500,600);j.setVisible(true);}publicvoidpaint(Graphicsg){...
代码如下
public class Newapp extends JFrame{
public static void main(String[] args){
JFrame j=new Newapp();
j.setBounds(200,200,500,600);
j.setVisible(true);
}
public void paint(Graphics g){
super.paint(g);
//g.setColor(Color.red);
//g.drawString("vsdfbgdjkgbs", 300, 300); //这个用g会成功
BufferedImage l=new BufferedImage(800,600,BufferedImage.TYPE_INT_RGB);
l.createGraphics();
l.getGraphics().setColor(Color.red); //用这个setColor()会失败,颜色依然是白色
l.getGraphics().drawString("dsfdsfasffasf", 300, 300);
g.drawImage(l, 0, 0, null);
}
}
调用BufferedImage.getGraphics()获得的Graphics
错误原因:调用setColor(),setFont()会失败
求原因
提问:窗体提供的g和BufferedImage.getGraphics()同样是Graphics类
但是前者能设置字体颜色,后者不行,为什么
展开