mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2026-02-14 07:47:12 -06:00
Demo: update scale factor in info label when moving window to another screen
This commit is contained in:
@@ -17,6 +17,8 @@
|
|||||||
package com.formdev.flatlaf;
|
package com.formdev.flatlaf;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
import java.awt.event.ComponentAdapter;
|
||||||
|
import java.awt.event.ComponentEvent;
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
import java.awt.event.WindowAdapter;
|
import java.awt.event.WindowAdapter;
|
||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
@@ -156,8 +158,12 @@ public class FlatTestFrame
|
|||||||
public void windowOpened( WindowEvent e ) {
|
public void windowOpened( WindowEvent e ) {
|
||||||
updateTitle();
|
updateTitle();
|
||||||
}
|
}
|
||||||
|
} );
|
||||||
|
|
||||||
|
// update title when moved to another screen
|
||||||
|
addComponentListener( new ComponentAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void windowActivated( WindowEvent e ) {
|
public void componentMoved( ComponentEvent e ) {
|
||||||
updateTitle();
|
updateTitle();
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
@@ -166,11 +172,14 @@ public class FlatTestFrame
|
|||||||
private void updateTitle() {
|
private void updateTitle() {
|
||||||
double systemScaleFactor = UIScale.getSystemScaleFactor( getGraphicsConfiguration() );
|
double systemScaleFactor = UIScale.getSystemScaleFactor( getGraphicsConfiguration() );
|
||||||
float userScaleFactor = UIScale.getUserScaleFactor();
|
float userScaleFactor = UIScale.getUserScaleFactor();
|
||||||
setTitle( title + " (Java " + System.getProperty( "java.version" )
|
String newTitle = title + " (Java " + System.getProperty( "java.version" )
|
||||||
+ (systemScaleFactor != 1 ? ("; system scale factor " + systemScaleFactor) : "")
|
+ (systemScaleFactor != 1 ? ("; system scale factor " + systemScaleFactor) : "")
|
||||||
+ (userScaleFactor != 1 ? ("; user scale factor " + userScaleFactor) : "")
|
+ (userScaleFactor != 1 ? ("; user scale factor " + userScaleFactor) : "")
|
||||||
+ (systemScaleFactor == 1 && userScaleFactor == 1 ? "; no scaling" : "")
|
+ (systemScaleFactor == 1 && userScaleFactor == 1 ? "; no scaling" : "")
|
||||||
+ ")" );
|
+ ")";
|
||||||
|
|
||||||
|
if( !newTitle.equals( getTitle() ) )
|
||||||
|
setTitle( newTitle );
|
||||||
}
|
}
|
||||||
|
|
||||||
private void registerSwitchToLookAndFeel( int keyCode, String lafClassName ) {
|
private void registerSwitchToLookAndFeel( int keyCode, String lafClassName ) {
|
||||||
|
|||||||
@@ -17,6 +17,8 @@
|
|||||||
package com.formdev.flatlaf.demo;
|
package com.formdev.flatlaf.demo;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
import java.awt.event.ComponentAdapter;
|
||||||
|
import java.awt.event.ComponentEvent;
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
import java.awt.event.WindowAdapter;
|
import java.awt.event.WindowAdapter;
|
||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
@@ -106,15 +108,19 @@ class ControlBar
|
|||||||
// make the "close" button the default button
|
// make the "close" button the default button
|
||||||
frame.getRootPane().setDefaultButton( closeButton );
|
frame.getRootPane().setDefaultButton( closeButton );
|
||||||
|
|
||||||
// move focus to "close" button
|
// update info label and move focus to "close" button
|
||||||
frame.addWindowListener( new WindowAdapter() {
|
frame.addWindowListener( new WindowAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void windowOpened( WindowEvent e ) {
|
public void windowOpened( WindowEvent e ) {
|
||||||
updateInfoLabel();
|
updateInfoLabel();
|
||||||
closeButton.requestFocusInWindow();
|
closeButton.requestFocusInWindow();
|
||||||
}
|
}
|
||||||
|
} );
|
||||||
|
|
||||||
|
// update info label when moved to another screen
|
||||||
|
frame.addComponentListener( new ComponentAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void windowActivated( WindowEvent e ) {
|
public void componentMoved( ComponentEvent e ) {
|
||||||
updateInfoLabel();
|
updateInfoLabel();
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
@@ -123,11 +129,14 @@ class ControlBar
|
|||||||
private void updateInfoLabel() {
|
private void updateInfoLabel() {
|
||||||
double systemScaleFactor = UIScale.getSystemScaleFactor( getGraphicsConfiguration() );
|
double systemScaleFactor = UIScale.getSystemScaleFactor( getGraphicsConfiguration() );
|
||||||
float userScaleFactor = UIScale.getUserScaleFactor();
|
float userScaleFactor = UIScale.getUserScaleFactor();
|
||||||
infoLabel.setText( "(Java " + System.getProperty( "java.version" )
|
String newInfo = "(Java " + System.getProperty( "java.version" )
|
||||||
+ (systemScaleFactor != 1 ? ("; system scale factor " + systemScaleFactor) : "")
|
+ (systemScaleFactor != 1 ? ("; system scale factor " + systemScaleFactor) : "")
|
||||||
+ (userScaleFactor != 1 ? ("; user scale factor " + userScaleFactor) : "")
|
+ (userScaleFactor != 1 ? ("; user scale factor " + userScaleFactor) : "")
|
||||||
+ (systemScaleFactor == 1 && userScaleFactor == 1 ? "; no scaling" : "")
|
+ (systemScaleFactor == 1 && userScaleFactor == 1 ? "; no scaling" : "")
|
||||||
+ ")" );
|
+ ")";
|
||||||
|
|
||||||
|
if( !newInfo.equals( infoLabel.getText() ) )
|
||||||
|
infoLabel.setText( newInfo );
|
||||||
}
|
}
|
||||||
|
|
||||||
private void registerSwitchToLookAndFeel( int keyCode, String lafClassName ) {
|
private void registerSwitchToLookAndFeel( int keyCode, String lafClassName ) {
|
||||||
|
|||||||
Reference in New Issue
Block a user