热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

swing鼠标悬停_swing搞了老半天,总是要鼠标经过才显示按钮

swing弄了老半天,总是要鼠标经过才显示按钮本帖最后由walkuere于2014-07-2617:11:09编辑按了按钮后,画面切换,总

swing弄了老半天,总是要鼠标经过才显示按钮

本帖最后由 walkuere 于 2014-07-26 17:11:09 编辑

按了按钮后,画面切换,总是要鼠标经过,这个图像才显示。。。

Class Game extends JPanel

{

//主类

public static launch_Satellite toppanel;

public void repaint_manual()

{

this.add(toppanel);

toppanel.setVisible(true);

//   this.validate();

}

}

//别的类里的触发

public void actionPerformed(ActionEvent e)

{

Game.toppanel=new launch_Satellite(...);

Game.repaint_manual();

}

public Class launch_Satellite extends JPanel

{

this.setLayout(null);

cardbtn1=new Cardbtn(n);

cardbtn1.setBounds(x,y,width,height);

cardbtn1.setVisible(true);

this.add(cardbtn1);

this.setBounds(x,y,width,height);

this.setVisible(true);

Game.toppanel.add(this);

}

public Class Cardbtn extends JPanel

{

this.setLayout(null);

CardImg cardimg;

cardimg.setBounds(0, 0, width, height);

this.setSize(width, height);

this.add(cardimg);

cardimg.setVisible(true);

}

public Cardimg extends JButton

{

}

------解决方案--------------------

我之前也遇到过这个问题。。。。

------解决方案--------------------

加上repaint,不然界面不会更新,你鼠标经过时触发了repaint才会更新界面,另外加上validate是可以的,因为界面布局可能发生变化

public void repaint_manual() {

this.add(toppanel);

toppanel.setVisible(true);

this.validate();

this.repaint();

}



推荐阅读
author-avatar
啦啦郭嘿
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有