Java 如何使用自定义按钮创建JFrame应用程序

Java 如何使用自定义按钮创建JFrame应用程序,java,jframe,skin,Java,Jframe,Skin,我希望创建一个ATM风格的应用程序,从某种意义上说,他们将输入pin,然后检查他们的金额等。我希望创建一个pin系统,并希望使用Jbuttons来实现这一点。然而,我不太喜欢按钮的默认皮肤,那种orb外观。我想知道是否有一种方法可以将自定义皮肤应用于这些按钮。我听说过类似于DefaultLookandFeel或类似的东西,但不确定这是否就是我要找的。我希望有人能指引我正确的方向,谢谢 您可以覆盖JButton的paint(Graphics g)方法,并绘制您想要的任何内容。或者,如果愿意,可以先

我希望创建一个
ATM
风格的应用程序,从某种意义上说,他们将输入pin,然后检查他们的金额等。我希望创建一个pin系统,并希望使用Jbuttons来实现这一点。然而,我不太喜欢按钮的默认皮肤,那种
orb
外观。我想知道是否有一种方法可以将自定义皮肤应用于这些按钮。我听说过类似于
DefaultLookandFeel
或类似的东西,但不确定这是否就是我要找的。我希望有人能指引我正确的方向,谢谢

您可以覆盖
JButton
paint(Graphics g)
方法,并绘制您想要的任何内容。或者,如果愿意,可以先调用
super.paint
,然后在默认图像上添加绘制。只需调用状态检查方法,如
getText()
isSelected()
,即可检查正在绘制的按钮的文本和状态

最简单的方法似乎是要求您的图形设计师提供不同状态的按钮图像,并绘制这些图像而不是按钮。只是不要调整大小,否则文本可能看起来不好


您是对的,也可以实现可插拔的外观,但对于您的情况来说似乎有些过分。

根据您的情况,您可以创建一个单独的自定义按钮类来扩展JButton,或者只创建一个新的JButton

您的代码将非常类似于以下内容:

ImageIcon yourImage = new ImageIcon(imageLocation);
JButton buttonDeposit = new JButton(yourImage);
frame.add(button);

此链接将引导您找到java中最有用的外观库

但是要使用它们,您应该在项目库中包含每个项目的jar文件 这些外观文件将管理GUI中所有组件的外观


您应该在main方法中使用一些代码。如果你愿意,我可以为你写一个例子。

添加一个你想要按钮外观的图像。我目前还没有一个确切的设计,但我只是希望有一个外观平坦的按钮,外面有一个戒指。类似于你在真正的ATM机上看到的图像。好吧,一旦你创建了图像-将图像添加到一个JButton和你的good-to-go中。那么这就像将图像或颜色添加到一个JPanel中一样?只需一个JButton?您想要更好的
按钮吗?(包java.awt)