java使用“实例”?不止一次
我正在制作一个清单类,其中按钮被添加到滚动窗格内的jpanel中,并使用GridBagConstarints自动对齐按钮。我添加了按钮,基本上只有一个名为ranodomButton的类扩展了JButton。大小、颜色、文本等在此类中定义。然后在主类中,我使用:
randomButton b = new randomButton();
然后我使用:
panelName.add(b, gridBagConstrainntsName);
我基本上想多次运行这行代码,但问题是它删除了上一个按钮,我猜是因为它是同一个东西,是同一个“实例”?随机按钮。我可以简单地制作许多按钮,然后添加,这很好,但是如果我尝试添加两个相同的按钮,我会得到一个错误。我尝试将b=设置为另一个JButton,但它仍然只使用一个。有什么解决办法吗
# 1 楼答案
正如你已经说过的,“我可以简单地制作许多按钮”。这可能是最简单的解决方案(不知道您的确切要求),您没有理由不这样做,因为您可以在所有按钮之间共享一个ActionListener,这样您就不必创建多个侦听器
或者,对于完全不同的内容,您可以创建一个JTable以在网格中显示数据。JTable使用渲染器绘制按钮,因此只需将数据添加到TableModel。有关更多信息,请阅读Swing教程中关于How to Use Tables的部分。但这在处理颜色和尺寸方面带来了额外的复杂性