mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2026-02-11 06:27:13 -06:00
Theme Editor: increase/decrease editor font size
This commit is contained in:
@@ -146,6 +146,15 @@ class FlatThemeEditorPane
|
||||
errorStrip.setCaretMarkerColor( UIManager.getColor( "FlatThemeEditorPane.errorstrip.caretMarkerColor" ) );
|
||||
}
|
||||
|
||||
void updateFontSize( int sizeIncr ) {
|
||||
Font defaultFont = RTextArea.getDefaultFont();
|
||||
Font font = defaultFont.deriveFont( (float) UIManager.getFont( "defaultFont" ).getSize() + sizeIncr );
|
||||
|
||||
textArea.setFont( font );
|
||||
textArea.setSyntaxScheme( new FlatSyntaxScheme( font ) );
|
||||
scrollPane.getGutter().setLineNumberFont( font );
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean requestFocusInWindow() {
|
||||
return textArea.requestFocusInWindow();
|
||||
|
||||
@@ -62,6 +62,7 @@ public class FlatThemeFileEditor
|
||||
private static final String KEY_RECENT_FILE = "recentFile";
|
||||
private static final String KEY_WINDOW_BOUNDS = "windowBounds";
|
||||
private static final String KEY_LAF = "laf";
|
||||
private static final String KEY_FONT_SIZE_INCR = "fontSizeIncr";
|
||||
|
||||
private File dir;
|
||||
private Preferences state;
|
||||
@@ -374,6 +375,33 @@ public class FlatThemeFileEditor
|
||||
}
|
||||
}
|
||||
|
||||
private void incrFontSize() {
|
||||
applyFontSizeIncr( getFontSizeIncr() + 1 );
|
||||
}
|
||||
|
||||
private void decrFontSize() {
|
||||
applyFontSizeIncr( getFontSizeIncr() - 1 );
|
||||
}
|
||||
|
||||
private void resetFontSize() {
|
||||
applyFontSizeIncr( 0 );
|
||||
}
|
||||
|
||||
private void applyFontSizeIncr( int sizeIncr ) {
|
||||
if( sizeIncr < -5 )
|
||||
sizeIncr = -5;
|
||||
if( sizeIncr == getFontSizeIncr() )
|
||||
return;
|
||||
|
||||
for( FlatThemeEditorPane themeEditorPane : getThemeEditorPanes() )
|
||||
themeEditorPane.updateFontSize( sizeIncr );
|
||||
state.putInt( KEY_FONT_SIZE_INCR, sizeIncr );
|
||||
}
|
||||
|
||||
private int getFontSizeIncr() {
|
||||
return state.getInt( KEY_FONT_SIZE_INCR, 0 );
|
||||
}
|
||||
|
||||
private void restoreState() {
|
||||
state = Preferences.userRoot().node( PREFS_ROOT_PATH );
|
||||
|
||||
@@ -477,6 +505,9 @@ public class FlatThemeFileEditor
|
||||
viewMenu = new JMenu();
|
||||
lightLafMenuItem = new JRadioButtonMenuItem();
|
||||
darkLafMenuItem = new JRadioButtonMenuItem();
|
||||
incrFontSizeMenuItem = new JMenuItem();
|
||||
decrFontSizeMenuItem = new JMenuItem();
|
||||
resetFontSizeMenuItem = new JMenuItem();
|
||||
windowMenu = new JMenu();
|
||||
nextEditorMenuItem = new JMenuItem();
|
||||
previousEditorMenuItem = new JMenuItem();
|
||||
@@ -570,6 +601,25 @@ public class FlatThemeFileEditor
|
||||
darkLafMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F12, 0));
|
||||
darkLafMenuItem.addActionListener(e -> darkLaf());
|
||||
viewMenu.add(darkLafMenuItem);
|
||||
viewMenu.addSeparator();
|
||||
|
||||
//---- incrFontSizeMenuItem ----
|
||||
incrFontSizeMenuItem.setText("Increase Font Size");
|
||||
incrFontSizeMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_PLUS, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
|
||||
incrFontSizeMenuItem.addActionListener(e -> incrFontSize());
|
||||
viewMenu.add(incrFontSizeMenuItem);
|
||||
|
||||
//---- decrFontSizeMenuItem ----
|
||||
decrFontSizeMenuItem.setText("Decrease Font Size");
|
||||
decrFontSizeMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_MINUS, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
|
||||
decrFontSizeMenuItem.addActionListener(e -> decrFontSize());
|
||||
viewMenu.add(decrFontSizeMenuItem);
|
||||
|
||||
//---- resetFontSizeMenuItem ----
|
||||
resetFontSizeMenuItem.setText("Reset Font Size");
|
||||
resetFontSizeMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_0, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
|
||||
resetFontSizeMenuItem.addActionListener(e -> resetFontSize());
|
||||
viewMenu.add(resetFontSizeMenuItem);
|
||||
}
|
||||
menuBar.add(viewMenu);
|
||||
|
||||
@@ -650,6 +700,9 @@ public class FlatThemeFileEditor
|
||||
private JMenu viewMenu;
|
||||
private JRadioButtonMenuItem lightLafMenuItem;
|
||||
private JRadioButtonMenuItem darkLafMenuItem;
|
||||
private JMenuItem incrFontSizeMenuItem;
|
||||
private JMenuItem decrFontSizeMenuItem;
|
||||
private JMenuItem resetFontSizeMenuItem;
|
||||
private JMenu windowMenu;
|
||||
private JMenuItem nextEditorMenuItem;
|
||||
private JMenuItem previousEditorMenuItem;
|
||||
|
||||
@@ -116,6 +116,27 @@ new FormModel {
|
||||
"accelerator": static javax.swing.KeyStroke getKeyStroke( 123, 0, false )
|
||||
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "darkLaf", false ) )
|
||||
} )
|
||||
add( new FormComponent( "javax.swing.JPopupMenu$Separator" ) {
|
||||
name: "separator2"
|
||||
} )
|
||||
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
||||
name: "incrFontSizeMenuItem"
|
||||
"text": "Increase Font Size"
|
||||
"accelerator": static javax.swing.KeyStroke getKeyStroke( 521, 4226, false )
|
||||
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "incrFontSize", false ) )
|
||||
} )
|
||||
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
||||
name: "decrFontSizeMenuItem"
|
||||
"text": "Decrease Font Size"
|
||||
"accelerator": static javax.swing.KeyStroke getKeyStroke( 45, 4226, false )
|
||||
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "decrFontSize", false ) )
|
||||
} )
|
||||
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
||||
name: "resetFontSizeMenuItem"
|
||||
"text": "Reset Font Size"
|
||||
"accelerator": static javax.swing.KeyStroke getKeyStroke( 48, 4226, false )
|
||||
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "resetFontSize", false ) )
|
||||
} )
|
||||
} )
|
||||
add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) {
|
||||
name: "windowMenu"
|
||||
|
||||
Reference in New Issue
Block a user