在 java swing 组件上绘制边框

Posted

技术标签:

【中文标题】在 java swing 组件上绘制边框【英文标题】:Drawing borders on a java swing component 【发布时间】:2013-12-30 05:39:04 【问题描述】:

我在 java swing 中有一个 UI 要求,我需要实现以下目标:

顶部的 2 个按钮放置在 JPanel 中。我需要在该面板的中心画一条线,直到 2 个按钮的开头。下面的面板是以卡片布局排列的面板容器。当点击按钮时,卡片会切换显示另一个面板。

所以在所有方面这看起来都像一个 JTabbedPane,但有一个区别,选项卡是排列在选项卡式窗格中心的按钮。我正在构建的 UI 需要这种差异。

到目前为止,按钮和卡片布局面板如下所示

如您所见,按钮和面板出现并且看起来是分开的,相反,如果它们看起来像代表一个单元那样会很好。

【问题讨论】:

看起来确实更适合成为JTabbedPane.. 您可以参考How to Use Borders(例如“创建自定义边框”),但您应该编辑并包含您当前的代码。 ***.com/a/20663571/597657 【参考方案1】:

如您所见,按钮和面板出现并且看起来是分开的,相反,如果它们看起来像是代表一个单元,那就太好了。

将边框放在外面板周围。那就是使用带有 BorderLayout 的面板。这个面板可以有一个 LineBorder。然后将按钮面板添加到 NORTH,将具有 CardLayout 的面板添加到 CENTER。

线条不会通过按钮绘制,但按钮和面板将显示为它们在单元上的代表。

【讨论】:

以上是关于在 java swing 组件上绘制边框的主要内容,如果未能解决你的问题,请参考以下文章

Swing:如何在每个组件、JPanel、JButton 等上绘制动画?

JAVA - 无法在 JPanel 上绘制组件(也是 Runnable 和 KeyListener)

在简单的 Java Swing 游戏中使用哪些容器/图形组件?

Java Swing:为啥我不能在 JFrame 实例上绘制图像()?

java swing中绘制矩形的错误

设置不透明(真/假);爪哇