【问题标题】:JComponent Titled BorderJComponent 标题边框
【发布时间】:2014-01-11 04:27:08
【问题描述】:

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

我只有简单的代码。即

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

我不明白为什么它对一件事不起作用,而对另一件事起作用。谁能帮帮我?

【问题讨论】:

  • JButton(或...)添加到面板上的JPanelsetBorder,如果我没记错的话,应该可以解决问题。
  • JComponent: "我们建议您将组件放在JPanel 中,并在JPanel 上设置边框。"
  • 好的,我明白了。谢谢。

标签: java swing components


【解决方案1】:

JTextField 和 JButton 都已经使用了 Border。所以标题边框有效,但它改变了组件的外观,因为你失去了默认的边框。

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

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

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

【讨论】:

    猜你喜欢
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-28
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多