在 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 游戏中使用哪些容器/图形组件?