Topic: [请教]用覆盖JFrame的paint方法画图的问题 |
Print this page |
1.[请教]用覆盖JFrame的paint方法画图的问题 | Copy to clipboard |
Posted by: macroxmu Posted on: 2005-11-30 12:44 用覆盖paint(Graphics g)的方法画图, 把窗口最大化和最小化时是正常的,但是在改变窗口大小后绘制的图形就消失了, 请问是什么原因?是不是改变窗口大小这个事件无法repaint? 应该如何解决? 测试代码如下: /* pai.java */ import javax.swing.*; import java.awt.*; public class pai extends JFrame{ public pai(){ this.setSize(800,500); this.setVisible(true); this.setDefaultCloseOperation(EXIT_ON_CLOSE); } public static void main(String args[]){ pai p=new pai(); } public void paint(Graphics g){ g.drawLine(0,0,800,500); } } |
2.Re:[请教]用覆盖JFrame的paint方法画图的问题 [Re: macroxmu] | Copy to clipboard |
Posted by: Infinite Posted on: 2005-12-06 13:58 “但是在改变窗口大小后绘制的图形就消失了,“??? 不明白什么意思,好像没有消失就是了。 |
3.Re:[请教]用覆盖JFrame的paint方法画图的问题 [Re: Infinite] | Copy to clipboard |
Posted by: macroxmu Posted on: 2005-12-10 16:55 现在是可以啊,但是只要你双击标题栏把这个窗口最大化的话里面画的线就消失了。 |
4.Re:[请教]用覆盖JFrame的paint方法画图的问题 [Re: macroxmu] | Copy to clipboard |
Posted by: Infinite Posted on: 2005-12-11 02:37 呵呵,我照做了,还是没问题,看看你提供的代码和你运行的版本有没有出入? macroxmu wrote: |
5.Re:[请教]用覆盖JFrame的paint方法画图的问题 [Re: macroxmu] | Copy to clipboard |
Posted by: macroxmu Posted on: 2005-12-12 21:42 不可能吧-_|| 我用的是jdk1.5的 附件中左边是把窗口拉大之前的,右边是把窗口拉大之后的。 把窗口拉大之后里面画的线就消失了。 当时把它最小化后在还原又出现了。 |
6.Re:[请教]用覆盖JFrame的paint方法画图的问题 [Re: macroxmu] | Copy to clipboard |
Posted by: losfound Posted on: 2005-12-14 22:10 窗口大小改变时重画窗口: import javax.swing.*; import java.awt.*; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; public class pai extends JFrame { public pai() { this.setSize(800, 500); this.setVisible(true); this.setDefaultCloseOperation(EXIT_ON_CLOSE); } public static void main(String args[]) { pai p = new pai(); p.addComponentListener(new ComponentAdapter() { public void componentResized(ComponentEvent e) { e.getComponent().repaint(); } }); } public void paint(Graphics g) { g.drawLine(0, 0, 800, 500); } } |
7.Re:[请教]用覆盖JFrame的paint方法画图的问题 [Re: macroxmu] | Copy to clipboard |
Posted by: fairy_ap Posted on: 2005-12-15 15:31 俺也一样试过了,那个确实可以正常显示啊,即使与最大化来回切换也是显示正常的啊:) |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |