JComponent标题为边框

时间:2013-12-22 23:43:07

标签: java swing components

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

This is what I am expecting.

This is what I am getting.

我只有简单的代码。即

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

我不明白为什么它不适用于一件事,而是为另一件事工作。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

JTextField和JButton都已经使用了Border。因此标题边框有效,但它会更改组件的外观,因为您将丢失默认边框。

我也同意通常你不会将TitledBorder用于单个组件,但我想你可以尝试使用CompoundBorder来看它是否更好看:

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

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