首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

label 的repaint()有关问题

2012-08-08 
label 的repaint()问题final myLabel label new myLabel(文件)label.setBounds(0, 0, 40, 20)label.

label 的repaint()问题
final myLabel label = new myLabel("文件");
  label.setBounds(0, 0, 40, 20);
  label.setBackground(Color.WHITE);
  label.setForeground(Color.WHITE);
  label.addMouseListener(new MouseAdapter() {

  public void mouseEntered(MouseEvent e) {
  label.setForeground(Color.BLACK);
  label.setIsSelected(true);
  label.repaint();
  popmenu.show(label, label.getX(), label.getHeight());
  }
  }

  为什么加了popmenu.show(label, label.getX(), label.getHeight())后,
  label.repaint()却没有效果了.新手求解。。。。

[解决办法]
用多线程吧
这种重叠属于重绘,只能响应一种,就是写在后面的
[解决办法]
使用label.repaint()就没有好使过 
目前还不知道这东西是干什么用的
[解决办法]
你要实现什么?
改变label?
就直接setText就可以了啊
[解决办法]
没大看懂,如果要加repaint().也要加在后面。
试试先判断一下:
 if (e.getButton() == MouseEvent.BUTTON3) {
popmenu.show(label, label.getX(), label.getHeight());
 }
[解决办法]
用多线程吧

[解决办法]
awt/swing不要混用。
awt和swing由于绘制机制不同,混用时经常出现奇特的效果

用javax.swing.Popup 代替 java.awt.PopupMenu
即可解决问题

热点排行