mirror of
https://github.com/TermoraDev/termora.git
synced 2026-01-16 02:12:58 +08:00
chore: improve flatlaf
This commit is contained in:
@@ -173,7 +173,6 @@ class ApplicationRunner {
|
|||||||
private fun setupLaf() {
|
private fun setupLaf() {
|
||||||
|
|
||||||
System.setProperty(FlatSystemProperties.USE_WINDOW_DECORATIONS, "${SystemInfo.isLinux || SystemInfo.isWindows}")
|
System.setProperty(FlatSystemProperties.USE_WINDOW_DECORATIONS, "${SystemInfo.isLinux || SystemInfo.isWindows}")
|
||||||
System.setProperty(FlatSystemProperties.USE_ROUNDED_POPUP_BORDER, "false")
|
|
||||||
|
|
||||||
if (SystemInfo.isLinux) {
|
if (SystemInfo.isLinux) {
|
||||||
JFrame.setDefaultLookAndFeelDecorated(true)
|
JFrame.setDefaultLookAndFeelDecorated(true)
|
||||||
@@ -197,12 +196,12 @@ class ApplicationRunner {
|
|||||||
|
|
||||||
themeManager.change(theme, true)
|
themeManager.change(theme, true)
|
||||||
|
|
||||||
|
if (Application.isBetaVersion()) {
|
||||||
FlatInspector.install("ctrl shift X")
|
FlatInspector.install("ctrl shift X")
|
||||||
|
}
|
||||||
|
|
||||||
UIManager.put(FlatClientProperties.FULL_WINDOW_CONTENT, true)
|
UIManager.put(FlatClientProperties.FULL_WINDOW_CONTENT, true)
|
||||||
UIManager.put(FlatClientProperties.USE_WINDOW_DECORATIONS, false)
|
UIManager.put(FlatClientProperties.USE_WINDOW_DECORATIONS, false)
|
||||||
UIManager.put("TitlePane.useWindowDecorations", false)
|
|
||||||
|
|
||||||
UIManager.put("Component.arc", 5)
|
UIManager.put("Component.arc", 5)
|
||||||
UIManager.put("TextComponent.arc", UIManager.getInt("Component.arc"))
|
UIManager.put("TextComponent.arc", UIManager.getInt("Component.arc"))
|
||||||
@@ -213,7 +212,6 @@ class ApplicationRunner {
|
|||||||
UIManager.put("Dialog.width", 650)
|
UIManager.put("Dialog.width", 650)
|
||||||
UIManager.put("Dialog.height", 550)
|
UIManager.put("Dialog.height", 550)
|
||||||
|
|
||||||
|
|
||||||
if (SystemInfo.isMacOS) {
|
if (SystemInfo.isMacOS) {
|
||||||
UIManager.put("TabbedPane.tabHeight", UIManager.getInt("TitleBar.height"))
|
UIManager.put("TabbedPane.tabHeight", UIManager.getInt("TitleBar.height"))
|
||||||
} else if (SystemInfo.isLinux) {
|
} else if (SystemInfo.isLinux) {
|
||||||
@@ -231,15 +229,21 @@ class ApplicationRunner {
|
|||||||
UIManager.put("Table.rowHeight", 24)
|
UIManager.put("Table.rowHeight", 24)
|
||||||
UIManager.put("Table.focusCellHighlightBorder", FlatTableCellBorder.Default())
|
UIManager.put("Table.focusCellHighlightBorder", FlatTableCellBorder.Default())
|
||||||
UIManager.put("Table.focusSelectedCellHighlightBorder", FlatTableCellBorder.Default())
|
UIManager.put("Table.focusSelectedCellHighlightBorder", FlatTableCellBorder.Default())
|
||||||
UIManager.put("Table.selectionArc", UIManager.getInt("Component.arc"))
|
|
||||||
|
|
||||||
UIManager.put("Tree.rowHeight", 24)
|
UIManager.put("Tree.rowHeight", 24)
|
||||||
UIManager.put("Tree.background", DynamicColor("window"))
|
UIManager.put("Tree.background", DynamicColor("window"))
|
||||||
UIManager.put("Tree.selectionArc", UIManager.getInt("Component.arc"))
|
|
||||||
UIManager.put("Tree.showCellFocusIndicator", false)
|
UIManager.put("Tree.showCellFocusIndicator", false)
|
||||||
UIManager.put("Tree.repaintWholeRow", true)
|
UIManager.put("Tree.repaintWholeRow", true)
|
||||||
|
|
||||||
UIManager.put("List.selectionArc", UIManager.getInt("Component.arc"))
|
// Linux 更多的是尖锐风格
|
||||||
|
if (SystemInfo.isMacOS || SystemInfo.isWindows) {
|
||||||
|
UIManager.put("Tree.selectionArc", UIManager.getInt("Component.arc"))
|
||||||
|
UIManager.put("List.selectionArc", UIManager.getInt("Component.arc"))
|
||||||
|
UIManager.put("ComboBox.selectionArc", UIManager.getInt("Component.arc"))
|
||||||
|
UIManager.put("Table.selectionArc", UIManager.getInt("Component.arc"))
|
||||||
|
UIManager.put("MenuBar.selectionArc", UIManager.getInt("Component.arc"))
|
||||||
|
UIManager.put("MenuItem.selectionArc", UIManager.getInt("Component.arc"))
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ import kotlinx.coroutines.Dispatchers
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import org.slf4j.LoggerFactory
|
import org.slf4j.LoggerFactory
|
||||||
import java.util.function.Consumer
|
import java.util.function.Consumer
|
||||||
import javax.swing.PopupFactory
|
|
||||||
import javax.swing.SwingUtilities
|
import javax.swing.SwingUtilities
|
||||||
import javax.swing.UIManager
|
import javax.swing.UIManager
|
||||||
|
|
||||||
@@ -118,11 +117,7 @@ internal class ThemeManager private constructor() {
|
|||||||
|
|
||||||
private fun immediateChange(classname: String) {
|
private fun immediateChange(classname: String) {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
val oldPopupFactory = PopupFactory.getSharedInstance()
|
|
||||||
UIManager.setLookAndFeel(classname)
|
UIManager.setLookAndFeel(classname)
|
||||||
PopupFactory.setSharedInstance(oldPopupFactory)
|
|
||||||
|
|
||||||
} catch (ex: Exception) {
|
} catch (ex: Exception) {
|
||||||
log.error(ex.message, ex)
|
log.error(ex.message, ex)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user