1、new JPanel(new BorderLayout()) 和 new JPanel()有什么区别
JPanel 默认布局:FlowLayout,组件按照 从左到右 的顺序排列。组件之间有默认间距(水平和垂直 5 像素)。 组件大小由 preferredSize 决定,不会自动填充整个 JPanel。如图:
BorderLayout,支持 五个区域:NORTH(上)、SOUTH(下)、WEST(左)、EAST(右)、CENTER(中)。 组件会填充所占区域的全部空间。如图:
2、JPanel.setOpaque(true) 的作用
JPanel.setOpaque(true) 会使 JPanel 不透明,完全覆盖背后的组件并绘制自己的背景。 JPanel.setOpaque(false) 会使 JPanel 透明,不绘制自己的背景,而是显示背后组件的内容。
3、JBUI.scale(8)的作用
layout = BorderLayout(JBUI.scale(8), 0)
JBUI.scale(int value) 是一个用于根据当前用户界面的缩放比例来调整数值的方法。它通常用于支持高 DPI(每英寸点数)显示器的应用程序,以确保在不同分辨率和缩放设置下,界面元素的大小和间距保持一致。 使用 JBUI.scale(8) 可以确保在高分辨率显示器上,8 像素的间距在视觉上看起来与在低分辨率显示器上的 8 像素间距相同。如果直接使用 8,那么无论用户的显示设置如何,间距始终都是 8 像素。这可能在某些情况下导致界面在高 DPI 显示器上看起来过小或不协调。