java - 鼠标监听器和鼠标点击

标签 java swing jbutton mouselistener

我只是在摆弄 MouseListener,并希望在单击 buttP 时向我的面板添加一个新的 JButton;但是,当我按 buttP 时,它不会刷新面板。 我尝试了重绘方法,但不起作用。有人知道如何刷新面板以便新的 JButton 自动显示吗?

public class Panel extends JPanel{

private JButton buttP;
public Panel(){
    buttP = new JButton("TEST");
    buttP.addMouseListener(new addNewButtMouseListener());
    add(buttP);
}

private class addNewButtMouseListener implements MouseListener{

    @Override
    public void mouseClicked(MouseEvent e) {
        JButton b = new JButton("HA");
        add(b);
    }

    @Override
    public void mousePressed(MouseEvent e) {
        // TODO Auto-generated method stub

    }

    @Override
    public void mouseReleased(MouseEvent e) {
        // TODO Auto-generated method stub

    }

    @Override
    public void mouseEntered(MouseEvent e) {
        // TODO Auto-generated method stub

    }

    @Override
    public void mouseExited(MouseEvent e) {
        // TODO Auto-generated method stub

    }

}

}

非常感谢

最佳答案

尝试使用invalidate()revalidate()

顺便说一句,不要使用 MouseListener(@mKorbel +1),而是使用 ActionListener

关于java - 鼠标监听器和鼠标点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13524029/

相关文章:

java - 如何在 jtree 中仅列出非隐藏和非系统文件

Java 和 Maven 不断从 ~/.profile 重置

java - 监视 Java 的系统资源使用

java - 尝试将 2 (JLabel, JSlider) 添加到具有 BorderLayout 的面板,仅绘制 JSlider

java - StyledEditorKit.FontSizeAction() 无法通过 JButton 工作

java - MVC 模式中自动调用重复值和一些方法

java - JButton 文本的抗锯齿

java - 分配二维数组分配额外内存的问题

java - Apache Storm 中的单元测试 - 使用 BaseRichBolt 超时,但使用 BaseBasicBolt 则不超时

java - JTextPane - 适合其内容的大小