0
我想添加JButton到另一个JButton鼠标悬停。这里是我的实际代码:当鼠标悬停在按钮上时,按钮添加按钮
public class JFrameButton extends JFrame
{
public static void main(String[] args)
{
main();
}
public static void main()
{
new JFrameButton();
}
public JFrameButton()
{
boutonExterne = new JButton("Externe");
boutonInterne = new JButton("Interne");
boutonExterne.setLayout(new BorderLayout());
setSize(200, 200);
setLocation(100, 100);
setVisible(true);
boutonExterne.addMouseListener(new MouseAdapter()
{
@Override
public void mouseExited(MouseEvent e)
{
boutonExterne.remove(boutonInterne);
JFrameButton.this.revalidate();
JFrameButton.this.repaint();
}
@Override
public void mouseEntered(MouseEvent e)
{
JFrameButton.this.boutonExterne.add(boutonInterne, BorderLayout.SOUTH);
JFrameButton.this.revalidate();
JFrameButton.this.repaint();
}
});
this.add(boutonExterne);
}
private JButton boutonExterne,boutonInterne;
}
本产品这样的结果:
但是,当我的鼠标在“上网。”按钮,使按钮闪光灯(出现和disapear)。
呼叫'revalidate'之前'repaint'。如果这不起作用发布[MCVE] – Reimeus
那么,因为你的光标在'Interne'按钮上,它不再被认为是在'Externe'的可见区域。所以你可能会得到一个即时的'mouseExited'事件。 – RealSkeptic
@Reimeus我按照你的建议编辑了我的代码 – KingOfBabu