我想在点击按钮后将JButton添加到JPanel,所以这是我的代码:
JButton testButton = null;
private void sendmessageButtonActionPerformed(java.awt.event.ActionEvent evt) {
testButton = new JButton();
totalPane.add(testButton,BorderLayout.CENTER);
totalPane.revalidate();
totalPane.repaint();
}
我正在使用Netbean GUI构建器。当我点击时,没有任何反应。有谁可以帮助我?
答案 0 :(得分:2)
您的代码对于标准Swing JComponents,
是正确的 1)totalPane
已初始化
2)将totalPane
添加到Container
3)在容器中可见totalPane
4)totalPane
是BorderLayout,默认情况下FlowLayout是<{3}}
您可以通过将Borders(totalPane.setBorder(BorderFactory.createLineBorder(Color.red));
)添加到totalPane
答案 1 :(得分:0)
添加按钮的代码是正确的,虽然你对repaint()的调用不会实现任何东西 - revalidate()就足够了。
我的猜测是你的sendmessageButtonActionPerformed-method永远不会被调用。它看起来不像是ActionListener或任何其他侦听器的任何方法。如何在触发添加的按钮上设置ActionListener?
答案 2 :(得分:0)
请调试您的代码并检查您的方法是否已执行。如果不是,那么我们就知道问题了,你必须确保你的方法被执行。
请注意,除了您的方法之外,您还可以在初始化时创建按钮并将其可见性设置为false。当您需要它时,您可以使其可见。但是,您的方法应该有效。