有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用“实例”?不止一次

我正在制作一个清单类,其中按钮被添加到滚动窗格内的jpanel中,并使用GridBagConstarints自动对齐按钮。我添加了按钮,基本上只有一个名为ranodomButton的类扩展了JButton。大小、颜色、文本等在此类中定义。然后在主类中,我使用:

randomButton b = new randomButton();

然后我使用:

panelName.add(b, gridBagConstrainntsName);

我基本上想多次运行这行代码,但问题是它删除了上一个按钮,我猜是因为它是同一个东西,是同一个“实例”?随机按钮。我可以简单地制作许多按钮,然后添加,这很好,但是如果我尝试添加两个相同的按钮,我会得到一个错误。我尝试将b=设置为另一个JButton,但它仍然只使用一个。有什么解决办法吗


共 (1) 个答案

  1. # 1 楼答案

    Any solutions?

    正如你已经说过的,“我可以简单地制作许多按钮”。这可能是最简单的解决方案(不知道您的确切要求),您没有理由不这样做,因为您可以在所有按钮之间共享一个ActionListener,这样您就不必创建多个侦听器

    或者,对于完全不同的内容,您可以创建一个JTable以在网格中显示数据。JTable使用渲染器绘制按钮,因此只需将数据添加到TableModel。有关更多信息,请阅读Swing教程中关于How to Use Tables的部分。但这在处理颜色和尺寸方面带来了额外的复杂性