Java 如果窗口最大化,则使JFrame的内容拉伸,并为JButtons着色

Java 如果窗口最大化,则使JFrame的内容拉伸,并为JButtons着色,java,swing,jframe,jbutton,Java,Swing,Jframe,Jbutton,有没有办法给JButton上色?我想改变它的颜色后,它被按下,以表明它已经按下。我有办法做到这一点吗 另外,在JFrame中,是否有一种方法可以使窗口的整个内容在窗口最大化时拉伸到填充框架 谢谢,我很感激 这里有一个链接,用于更改每个州的JButton颜色 对于JFrame,您可以将JFrame的布局设置为BorderLayout,并在JFrame的中心添加JPanel,这样即使调整大小,它也会填充所有JFrame 例如: frame.setLayout(new BorderLayout());

有没有办法给JButton上色?我想改变它的颜色后,它被按下,以表明它已经按下。我有办法做到这一点吗

另外,在JFrame中,是否有一种方法可以使窗口的整个内容在窗口最大化时拉伸到填充框架


谢谢,我很感激

这里有一个链接,用于更改每个州的JButton颜色

对于JFrame,您可以将JFrame的布局设置为BorderLayout,并在JFrame的中心添加JPanel,这样即使调整大小,它也会填充所有JFrame

例如:

frame.setLayout(new BorderLayout());
frame.add(panel,BorderLayout.CENTER);

如果我使用的是FlowLayout呢?你知道有什么简单的方法可以让我不用用BorderLayout来重做整个程序吗?你用FlowLayout做什么,JFrame还是JPanel@user3268401@user3268401如果是JFrame,则删除添加到JFrame的内容,并将其添加到新的JPanel布局FlowLayout中。然后,这个JPanel使用上面我的示例将它添加到中心的BorderLayout的JFrame中answer@user3268401否,FlowLayout重复组件的首选大小,因此它不合适。BorderLayout、GridLayout和GridBagLayout都提供了您想要的功能for@AmirBawab我同意BorderLayout是实现这一目标的布局管理器之一,FlowLayout不能,对不起,如果我第一次没有说清楚,我想在按下按钮后更改颜色,以显示它已被按下。您想让按钮保持按下状态吗?如果他们再按一下怎么办?