mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2026-02-11 14:37:13 -06:00
Theme Editor:
- use JetBrains Mono font for editor area - added Inter font to allow using it in preview (Java 11+)
This commit is contained in:
@@ -34,6 +34,7 @@ import javax.swing.JPanel;
|
||||
import javax.swing.KeyStroke;
|
||||
import javax.swing.SwingUtilities;
|
||||
import javax.swing.UIManager;
|
||||
import javax.swing.text.StyleContext;
|
||||
import org.fife.ui.autocomplete.AutoCompletion;
|
||||
import org.fife.ui.autocomplete.CompletionProvider;
|
||||
import org.fife.ui.rsyntaxtextarea.AbstractTokenMakerFactory;
|
||||
@@ -48,6 +49,7 @@ import org.fife.ui.rtextarea.Gutter;
|
||||
import org.fife.ui.rtextarea.RTextArea;
|
||||
import org.fife.ui.rtextarea.RTextScrollPane;
|
||||
import org.fife.ui.rtextarea.SearchContext;
|
||||
import com.formdev.flatlaf.fonts.jetbrains_mono.FlatJetBrainsMonoFont;
|
||||
import com.formdev.flatlaf.util.UIScale;
|
||||
|
||||
/**
|
||||
@@ -128,8 +130,7 @@ class FlatThemeEditorPane
|
||||
}
|
||||
|
||||
void updateTheme() {
|
||||
Font defaultFont = RTextArea.getDefaultFont();
|
||||
Font font = defaultFont.deriveFont( (float) UIManager.getFont( "defaultFont" ).getSize() );
|
||||
Font font = createEditorFont( 0 );
|
||||
|
||||
textArea.setFont( font );
|
||||
textArea.setBackground( UIManager.getColor( "FlatThemeEditorPane.background" ) );
|
||||
@@ -161,14 +162,28 @@ class FlatThemeEditorPane
|
||||
}
|
||||
|
||||
void updateFontSize( int sizeIncr ) {
|
||||
Font defaultFont = RTextArea.getDefaultFont();
|
||||
Font font = defaultFont.deriveFont( (float) UIManager.getFont( "defaultFont" ).getSize() + sizeIncr );
|
||||
Font font = createEditorFont( sizeIncr );
|
||||
|
||||
textArea.setFont( font );
|
||||
textArea.setSyntaxScheme( new FlatSyntaxScheme( font ) );
|
||||
scrollPane.getGutter().setLineNumberFont( font );
|
||||
}
|
||||
|
||||
private static Font createEditorFont( int sizeIncr ) {
|
||||
int size = UIManager.getFont( "defaultFont" ).getSize() + sizeIncr;
|
||||
StyleContext sc = StyleContext.getDefaultStyleContext();
|
||||
Font font = sc.getFont( FlatJetBrainsMonoFont.FAMILY, Font.PLAIN, size );
|
||||
if( isFallbackFont( font ) ) {
|
||||
Font defaultFont = RTextArea.getDefaultFont();
|
||||
font = defaultFont.deriveFont( (float) size );
|
||||
}
|
||||
return font;
|
||||
}
|
||||
|
||||
private static boolean isFallbackFont( Font font ) {
|
||||
return Font.DIALOG.equalsIgnoreCase( font.getFamily() );
|
||||
}
|
||||
|
||||
void selected() {
|
||||
if( findReplaceVisible )
|
||||
showFindReplaceBar( false );
|
||||
|
||||
@@ -63,6 +63,8 @@ import com.formdev.flatlaf.extras.FlatSVGIcon;
|
||||
import com.formdev.flatlaf.extras.FlatSVGUtils;
|
||||
import com.formdev.flatlaf.extras.FlatUIDefaultsInspector;
|
||||
import com.formdev.flatlaf.extras.components.*;
|
||||
import com.formdev.flatlaf.fonts.inter.FlatInterFont;
|
||||
import com.formdev.flatlaf.fonts.jetbrains_mono.FlatJetBrainsMonoFont;
|
||||
import com.formdev.flatlaf.icons.FlatClearIcon;
|
||||
import com.formdev.flatlaf.ui.FlatUIUtils;
|
||||
import com.formdev.flatlaf.util.StringUtils;
|
||||
@@ -105,6 +107,10 @@ class FlatThemeFileEditor
|
||||
System.setProperty( "user.language", "en" );
|
||||
|
||||
SwingUtilities.invokeLater( () -> {
|
||||
if( SystemInfo.isJava_11_orLater )
|
||||
FlatInterFont.install();
|
||||
FlatJetBrainsMonoFont.install();
|
||||
|
||||
FlatLaf.registerCustomDefaultsSource( "com.formdev.flatlaf.themeeditor" );
|
||||
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user