【问题标题】:More Effective way of making JButtons更有效的 JButton 制作方法
【发布时间】:2021-02-16 16:05:33
【问题描述】:

我想知道是否有任何更简单、更有效的方法来制作 JButton。我的设计看起来像这样,这样做根本不实用。在有人建议使用 JButtons 以外的其他东西之前,我不允许这样做。谢谢

【问题讨论】:

  • 这里是代码 .setBounds(WIDTH/2 - 290, 580, 150, 60); .setBackground(新颜色(0x32BD12)); .setForeground(Color.BLACK); .setFont(new Font("arial", Font.BOLD, 40)) .addActionListener(this); .setBorder(new EmptyBorder(1, 1,1,1));
  • 邮政编码,不是图片。代码应与问题一起发布,而不是作为评论。

标签: java swing button jbutton memory-efficient


【解决方案1】:

由于只有几个属性不同(主要是位置和大小),您可以创建一个工厂方法并传入不同的属性。

private JButton createJButton(String label, int xcoordinate, int ycoordinate, int width, int height, ActionListener actionListener) {

    JButton button = new JButton(label);
    button.setBounds(xcoordinate, ycoordinate, width, height);
    button..setBackground(new Color(0x32BD12));
    button.setForeground(Color.BLACK);
    button.setFont(new Font("arial", Font.BOLD, 40))
    button.addActionListener(actionListener);
    button.setBorder(new EmptyBorder(1, 1,1,1));

    return button;
}

这将有助于摆脱一些样板代码。

【讨论】:

  • 您好,谢谢您的回答。我如何从 actionlistener 中调用它?就像,如果我连续三个。 actionEvent.getSource() == ?
  • 您仍然需要在某些时候分配您的按钮。 JButton buySnakeButton = this.createJButton("Buy Snake", WIDTH/2 - 298, 580, 150, 60, this);。然后,您还需要将 buySnakeButton 添加到您的容器中。
猜你喜欢
  • 1970-01-01
  • 2014-01-20
  • 2016-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-27
相关资源
最近更新 更多