我总是对不同的 GUI 很感兴趣,并在它们上面看到自定义组件。目前,我对制作定制的 JButton 感到好奇。
有关我所指的示例,请查看此 GUI(这只是我快速提取的一个):
所有按钮都是自定义的。我想知道执行这些按钮的正确/可接受的方法是什么。
就个人而言,当我想创建自定义按钮时,我只需执行以下操作:
ImageIcon icon = new ImageIcon(getClass().getClassLoader().getResource(resourcePath));
Image img = icon.getImage();
Image newimg = img.getScaledInstance(buttonW, buttonH, java.awt.Image.SCALE_SMOOTH);
button.setIcon(new ImageIcon(newimg));
button.setMargin(new Insets(0,0,0,0));
button.setBorderPainted(false);
button.setFocusPainted(false);
button.setContentAreaFilled(false);
button.setText("");
这似乎是一种简单的方法,但我不确定这是否是正确的方法。它保留了 JButton 功能,但不一定能够自定义它。基本上,我会被困在我拥有的任何图像的背景上。我也只能让按钮看起来有圆角。
上面的代码是一种不正确的做法吗?我觉得大概是这样。如果是这样,你能提供我应该做的其他方式吗?
我遇到了一些很好的例子,例如:
无论如何,我只是想看看人们是如何创建他们的自定义 JButton 的,也许在工作环境中更容易接受的方法是什么。
如果您有任何自定义按钮的图像,我会很乐意查看它们,也许还有您用来创建它们的来源。