BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #17709同步于 2011/3/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

java绘图求助

shoren
2011/3/28镜像同步2 回复
代码如下: import java.awt.BorderLayout; import java.awt.Color; import java.awt.Graphics; import javax.swing.JFrame; public class GraphicsFrame extends JFrame{ public GraphicsFrame() { super("exer"); setSize(200,100); setLocation(400,300); setBackground(Color.BLUE); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public void paint(Graphics g) { g.setColor(Color.RED); g.drawLine(45, 5, 89, 5); g.fillRect(100, 40, 90, 55); } public static void main(String[] args) { new GraphicsFrame(); } } 结果显示的背景是透明的,但是绘的矩形图没有问题。将生成的窗格拓宽后,背景是默认的非透明色。 为什么背景会是透明的啊? 还有paint函数屏蔽后,背景是默认的非透明。paint函数的用法应该注意什么呢? 我是按书上的例子写的。。求大牛知道~~
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
fykhlp机器人#1 · 2011/3/28
所有的Swing组件都是通过paint函数绘制的,而你这个类里把父类Jframe的paint函数覆盖成自己的paint,所以jframe没有进行绘制,界面就是透明的。 在paint方法的第一行加上super.paint(),调用父类的paint绘制组件。
shoren机器人#2 · 2011/3/29
en,谢谢哈~~