【发布时间】:2012-08-11 00:40:54
【问题描述】:
我使用 JFrame 创建并显示一个窗口,并设置了非常基本的属性。
public FrameVertices( String sTitle, Graph mMap, int iMul ) {
super( sTitle );
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
setSize ( 300, 300 );
setLocation ( 600, 300 );
setVisible ( true);
this.iMul = iMul;
this.gGraph = mMap;
}
然后我使用 paint() 方法在窗口内绘制一些东西。
问题是,当其他一些窗口覆盖我的JFrame 然后将其打开时,JFrame 的内容不会重新绘制 - 除非我调整 JFrame 的大小或最小/最大。
我错过了什么吗?
【问题讨论】:
-
您丢失的更多代码可能会告诉我们您的错误在哪里。考虑创建一个 small 可编译和可运行的程序,我们可以运行它并为我们展示您的问题。顺便说一句,您几乎不应该直接在顶级 Swing 窗口中绘制,而应该在 JComponent 的 paintComponent 方法中绘制,例如 JPanel。
-
请同时显示
paint()方法代码或如HFOE 所说创建一个sscce
标签: java swing jframe jpanel paintcomponent