求大神 JMenuBar和 repaint方法冲突
java吧
全部回复
仅看楼主
level 5
wscczQQ
楼主
有个程序 想在窗体上加一个JMenuBar
因为 构造器中有repaint方法 所以首先JMenuBar 没显示出来 汗
接着 我点击大概Bar的位置 下拉显示出来了
可是这个时候问题又来了 下拉的菜单消失以后 repaint 的被遮住部分 并没有恢复
全变灰了,求解决办法!!急
2013年01月03日 02点01分
1
level 5
wscczQQ
楼主
就没人吗 、 真心着急。。。
2013年01月03日 02点01分
2
level 8
卡伦
不懂帮顶...
2013年01月03日 02点01分
3
wscczQQ
= = tyty
2013年01月03日 02点01分
level 5
wscczQQ
楼主
真的很急啊?? 强大有爱的 吧友们- -
2013年01月03日 02点01分
4
level 5
wscczQQ
楼主
。。。。。。。。
2013年01月03日 02点01分
5
level 5
wscczQQ
楼主
2013年01月03日 03点01分
7
wscczQQ
如图
2013年01月03日 03点01分
level 5
wscczQQ
楼主
我这不算作业吧 真心得问题 人也没来几个?
2013年01月03日 03点01分
8
level 5
wscczQQ
楼主
@博丽灵梦·
2013年01月03日 03点01分
10
level 12
那十无忧
你是不是直接重写了 JFrame 的 paint 方法?
2013年01月03日 03点01分
12
wscczQQ
好像没错。。
2013年01月03日 03点01分
level 12
那十无忧
1 - 不要直接重写 JFrame 的 paint 方法
2 - 写一个类继承 JComponent 或者 JPanel,然后重写它的 paintComponent(Graphics g) 方法
3 - 在 paintComponent(Graphics g) 方法内第一句,调用 super.paintComponent(g);
4 - 建立一个你重写的控件的实例,比如 panel,
panel.setLayout(new BorderLayout());
jframe.setContentPane(panel);
2013年01月03日 03点01分
14
wscczQQ
大神。 我试下
2013年01月03日 03点01分
wscczQQ
回复 wscczQQ :很感谢很感谢 解决了 又科普了
2013年01月03日 03点01分
那十无忧
回复 wscczQQ :
2013年01月03日 03点01分
level 5
wscczQQ
楼主
又吞了 靠 上图
2013年01月03日 03点01分
15
wscczQQ
回复 博丽灵梦· :也感谢你哈 真心谢谢
2013年01月03日 03点01分
level 12
hongqishuxue
2013年01月03日 03点01分
16
level 12
那十无忧
顺便说,你那个 Thread t = new Thread(this);
然后在构造方法内 t.start(); 也是有问题的。
- 不要在构造方法内启动线程
- 更不要在构造方法内把 this 传给外界然后启动线程
- 不要用一个普通的线程去驱动界面的更新,如果你要定时更新界面,应该用 javax.swing.Timer + ActionListener
2013年01月03日 03点01分
17
1