【求助】按钮实际存在,但是看不见,当鼠标指着,出现
java吧
全部回复
仅看楼主
level 10
piratekingzhy 楼主

2013年01月06日 13点01分 1
level 10
piratekingzhy 楼主
编译出来 就只有start 没有options
当鼠标指着 options 就出来了
2013年01月06日 13点01分 2
level 10
piratekingzhy 楼主
public class ChoosePanel extends JPanel {
//图像包
private TankImageIcon tank = null;
//背景图片
private LoginPage backgroudTanl = null;
//logo
private TankLogo tankLogo = null;
//按钮开始
private JButton jb1 = null;
//按钮开始背景
//private ImageIcon start = null;
//按钮开始
private ImageIcon backgroudStart = null;
//按钮开始1
private ImageIcon backgroudStart1 = null;
//options
private ImageIcon backgroudOptions = null;
//options1
private ImageIcon backgroudOptions1 = null;
//按钮options
private JButton jb2 = null;
//默认函数
public ChoosePanel(){
//图片包
tank = new TankImageIcon();
//背景
backgroudTanl = new LoginPage();
//logo
tankLogo = new TankLogo();
//开始
// start = tank.getStart();
//按钮背景
backgroudStart = tank.getBackgrroudStart();
//按钮背景
backgroudStart1 = tank.getBackgrroudStart1();
//按钮开始
jb1 = new JButton(backgroudStart);
//backgroudOptions
backgroudOptions = tank.getBackgrroudOptions();
//backgroudOptions1
backgroudOptions1 = tank.getBackgrroudOptions1();
//backgroudOptions
jb2 = new JButton(backgroudOptions);
//设置排版方式
this.setLayout(null);
jb1.setBorder(null);
jb1.setRolloverIcon(backgroudStart1);
jb1.setPressedIcon(backgroudStart);
jb1.setBounds(158, 290, 201, 39);
jb2.setBorder(null);
jb2.setRolloverIcon(backgroudOptions1);
jb2.setPressedIcon(backgroudOptions);
jb2.setBounds(158, 339, 201, 39);
this.add(jb1);
this.add(jb2);
}
public void paint(Graphics g){
super.paint(g);
backgroudTanl.paint(g);
tankLogo.paint(g);
g.drawImage(tank.getChoose(), 0, 0, 885, 563, 0, 0, 1024, 768, null);
}
}
2013年01月06日 13点01分 3
level 10
jb2.setVisible(False);
jb1.
addMouseOverHandler
(
new

MouseOverHandler
()

{
@Override
public

void
onMouseOver
(
MouseOverEvent
event
)

{
jb2.setVisible(True);
}
});
2013年01月06日 13点01分 4
level 10
你说的是鼠标指向start的时候出options么?
2013年01月06日 13点01分 5
指着start 不出现options 指着options位置时候 就出现了
2013年01月06日 13点01分
我想 打开的时候 2个都出现
2013年01月06日 13点01分
level 12
[打酱油]
2013年01月06日 13点01分 6
level 12
2013年01月06日 13点01分 7
回复 花开何须结果 :[黑线]
2013年01月07日 06点01分
回复 那十无忧 :大神,帮忙看看
2013年01月07日 07点01分
回复 piratekingzhy : [汗]应该是重写 paint 导致的,详见18楼链接
2013年01月07日 09点01分
level 10
jb2.setOpaque(false);
jb2.setContentAreaFilled(false);
jb2.setBorderPainted(false);
jb2.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
jb2.setOpaque(true);
jb2.setContentAreaFilled(true);
jb2.setBorderPainted(true);
jb2.setText("options");
}
public void mouseExited(MouseEvent e) {
jb2.setOpaque(false);
jb2.setContentAreaFilled(false);
jb2.setBorderPainted(false);
jb2.setText("");
}
});
度娘真没节操
2013年01月06日 14点01分 9
十分感谢你的,我尝试了下你的代码,效果是 还是只看见start ,然后鼠标指着options时候options就出现,鼠标离开就消失,而我想要的效果,打开2个都出现,
2013年01月06日 14点01分
回复 piratekingzhy :就是说你想要鼠标离开的时候options还在?
2013年01月06日 14点01分
我编译 只看见start 看不见options 我想 一打开 看见他们2个,当然 鼠标离开 时候 也在啊,麻烦你再看看,
2013年01月06日 14点01分
我感觉也很奇怪,我就正常的在JPanel添加了2个按钮,为什么只看见一个
2013年01月06日 14点01分
level 10
piratekingzhy 楼主
[顶]
2013年01月06日 15点01分 10
level 10
[寻死]坦克大战到底得罪谁了
2013年01月06日 15点01分 11
俄罗斯方块,坦克大战,算是又有趣,然后难度相比较低的项目,做起有趣,同时可以学习很多东西。
2013年01月06日 15点01分
level 12
貌似是放的位置顺序上下有误
2013年01月06日 16点01分 12
level 10
piratekingzhy 楼主
[顶]
2013年01月07日 00点01分 13
level 9
jb2.setVisible(False);
这句取消呢
2013年01月07日 07点01分 14
没这句话
2013年01月07日 07点01分
回复 piratekingzhy :4L第一行 你贴的代码。。。可能已经删了吧
2013年01月07日 09点01分
level 10
piratekingzhy 楼主
2013年01月07日 08点01分 15
level 16
出现这种情况无非是两种情况:
1、后台有异常,干扰了界面的正常刷新
2、setVisible(true); 没有放在最后调用
2013年01月07日 08点01分 16
[汗] 你明显没看他的代码……
2013年01月07日 09点01分
回复@那十无忧 :[汗],被发现了
2013年01月07日 09点01分
level 9
楼上终结~~~[啊!]
2013年01月07日 08点01分 17
+1
2013年01月07日 09点01分
level 12
大概就是这个问题:
https://tieba.baidu.com/p/2080984868
2013年01月07日 09点01分 18
1