Java JComponent标题边框

Java JComponent标题边框,java,swing,components,Java,Swing,Components,我正在制作一个简单的swing应用程序,我想在我的组件中添加一些有标题的边框。我的两个JScrollPanes上的边框都可以正常工作,但是JTextField和jbutton不能。请允许我分享一些屏幕截图 我只有简单的代码。i、 e TitledBorder border = new TitledBorder("Border"); convert.setBorder(border); //convert is the JButton 我不明白为什么它一方面不起作用,另一方面却起作用。有人能

我正在制作一个简单的swing应用程序,我想在我的组件中添加一些有标题的边框。我的两个JScrollPanes上的边框都可以正常工作,但是JTextField和jbutton不能。请允许我分享一些屏幕截图

我只有简单的代码。i、 e

TitledBorder border = new TitledBorder("Border");
convert.setBorder(border); //convert is the JButton

我不明白为什么它一方面不起作用,另一方面却起作用。有人能帮我吗?

JTextField和JButton都已经使用了边框。因此,有标题的边框可以工作,但它会更改零部件的外观,因为您会丢失默认边框

我也同意,通常情况下,您不会对单个组件使用标题边框,但我想您可以尝试使用CompoundBorder,看看它是否看起来更好:

CompoundBorder border = new CompoundBorder(titledBorder, button.getBorder());
button.setBorder( border );

但是,上述方法的问题是,当您按下/释放按钮上的鼠标时,会丢失对边框的动态重新绘制。

JButton
(或…)添加到
JPanel
和面板上的
setboorder
,如果我回忆正确,这应该可以解决问题。
JComponent
:“我们建议您将组件放在
JPanel
中,并在
JPanel
上设置边框。”好的,我知道了。谢谢。