首页 > 解决方案 > Java动态添加按钮到面板

问题描述

我有一个面板和一个按钮1。当我按下按钮时,我想在面板内创建其他按钮(具有一定的高度和宽度)。所以我按下 button1 一次,它会在面板中创建一个按钮。我再次按下 button1,它会在面板中创建另一个按钮,紧邻另一个按钮或中间有一些空间。有什么帮助吗?我试过了

private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {                                      
           JButton jButton = new JButton("Button");
           panel1.add(jButton);
           validate();
        
    }   

标签: java

解决方案


考虑到您正尝试从方法内部访问它,我认为您已经可以访问该面板。

private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {                                      
            JButton button = new JButton("Button");
            button.setVisible(true);                 
            panel1.add(button);
            panel1.revalidate();
    }   

要为按钮选择特定位置,这完全取决于 JPanel 的布局类型。

我相信 FlowLayout (这是 JPanel 的默认布局)应该将按钮彼此相邻放置在一行中,直到它的父容器根据它的父容器在水平方向上没有更多空间,然后它将从下一行开始。

可以在此处找到 Oracle 的布局指南


推荐阅读