在具有原生 Aqua 外观的 Mac OS X 上,JInternalFrames 有一个阴影,它是框架边框的一部分。当内部框架最大化时,阴影仍然可见并且占用大量空间。
有没有办法在不切换到另一种外观和感觉的情况下消除这种阴影?
在具有原生 Aqua 外观的 Mac OS X 上,JInternalFrames 有一个阴影,它是框架边框的一部分。当内部框架最大化时,阴影仍然可见并且占用大量空间。
有没有办法在不切换到另一种外观和感觉的情况下消除这种阴影?
在深入研究 OpenJDK 中的 Aqua L&F 代码后,我发现了一个未记录的属性,可让您更改内部框架的样式。可以使用以下方法删除阴影:
internalFrame.putClientProperty("JInternalFrame.frameType", "normal");
Swing 使创建自己的 Border 类变得相对容易。Swing 集通过提供一个名为AbstractBorder
. 该类AbstractBorder
可以作为为 Swing 组件创建自定义边框的良好起点。
您只需使用 setBorder() 方法设置您自己的 Border 对象,即可轻松覆盖组件的 UI 默认边框的安装。
有关更多详细信息,请参阅:了解边界