日期:2014-05-20  浏览次数:20658 次

窗体绘图问题
有一个窗体,含有菜单,窗体中自己绘制了几条直线,程序刚开始运行时没有问题,直线可以显示;但是,当我打开另一个窗口覆盖了这个程序的窗体,再把第二个窗口关掉,我的程序中的那个窗体中的那些直线就看不见了,但是菜单还是可以看见的,这是为什么,该怎么解决。还有当我单击某个菜单时,会出现该菜单的菜单项,这些菜单项如果覆盖了那些直线,同样直线就看不见了,该怎么解决。急!急!急!急!急!急!急!急!急!急!

------解决方案--------------------
图像消失
是因为你绘图不是在paint(g)方法中实现的 
JComponent每当检测到组件视窗变化,都会调用paint(g) 
当然,我是paint(g),使用循环绘图也可以达到一样的效果 

菜单间距 
这个真的没有处理过 
个人觉得可以看看JMenu的setPreferredSize 
JMenu是继承自JComponent的,你可以把它当做一个组件,想怎么修理就怎么修理
------解决方案--------------------
楼上 说的是
------解决方案--------------------
你的定义一个类extends JComponent,然后override
paintComponent(Graphics g)方法。该方法会在窗口
需要redraw的时候自动被调用。