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

解决方案 »

  1.   

    在问一下:Java中的菜单之间能不能设置不等的间距?如果能,该怎么设置?
      

  2.   

    图像消失
            是因为你绘图不是在paint(g)方法中实现的 
            JComponent每当检测到组件视窗变化,都会调用paint(g) 
           当然,我是paint(g),使用循环绘图也可以达到一样的效果 菜单间距 
            这个真的没有处理过 
            个人觉得可以看看JMenu的setPreferredSize 
           JMenu是继承自JComponent的,你可以把它当做一个组件,想怎么修理就怎么修理
      

  3.   

    你的定义一个类extends JComponent,然后override
    paintComponent(Graphics g)方法。该方法会在窗口
    需要redraw的时候自动被调用。
      

  4.   


    我是在paint(g)方法中绘制的直线啊
      

  5.   

    我的意思是说,这个paint(g)必须是JFrame的方法 
    不是包含该JFrame对象的方法 
    也就是说,重写JFrame 
    楼主不贴源码吗?抱着垃圾当金条?