macOS large title bar: add NSToolbar to NSWindow

This commit is contained in:
Karl Tauber
2023-12-10 13:34:41 +01:00
parent eed11d211b
commit f40baed65e
5 changed files with 88 additions and 1 deletions

View File

@@ -101,7 +101,7 @@ class DemoFrame
setTitle( null );
// add gap to left side of toolbar
toolBar.add( Box.createHorizontalStrut( 70 ), 0 );
toolBar.add( Box.createHorizontalStrut( 80 ), 0 );
}
// enable full screen mode for this window (for Java 8 - 10; not necessary for Java 11+)
@@ -903,6 +903,54 @@ class DemoFrame
buttonGroup1.add(radioButtonMenuItem3);
// JFormDesigner - End of component initialization //GEN-END:initComponents
backButton.addActionListener( e -> System.out.println( e ) );
backButton.addMouseListener( new MouseListener() {
@Override
public void mouseReleased( MouseEvent e ) {
// TODO Auto-generated method stub
System.out.println( "m release" );
}
@Override
public void mousePressed( MouseEvent e ) {
// TODO Auto-generated method stub
System.out.println( "m press" );
}
@Override
public void mouseExited( MouseEvent e ) {
// TODO Auto-generated method stub
System.out.println( "m exit" );
}
@Override
public void mouseEntered( MouseEvent e ) {
// TODO Auto-generated method stub
System.out.println( "m ent" );
}
@Override
public void mouseClicked( MouseEvent e ) {
// TODO Auto-generated method stub
System.out.println( "m click" );
}
} );
backButton.addMouseMotionListener( new MouseMotionListener() {
@Override
public void mouseMoved( MouseEvent e ) {
// TODO Auto-generated method stub
System.out.println( "m moved" );
}
@Override
public void mouseDragged( MouseEvent e ) {
// TODO Auto-generated method stub
System.out.println( "m drag" );
}
} );
// add "Users" button to menubar
FlatButton usersButton = new FlatButton();
usersButton.setIcon( new FlatSVGIcon( "com/formdev/flatlaf/demo/icons/users.svg" ) );

View File

@@ -27,6 +27,7 @@ import com.formdev.flatlaf.fonts.inter.FlatInterFont;
import com.formdev.flatlaf.fonts.jetbrains_mono.FlatJetBrainsMonoFont;
import com.formdev.flatlaf.fonts.roboto.FlatRobotoFont;
import com.formdev.flatlaf.fonts.roboto_mono.FlatRobotoMonoFont;
import com.formdev.flatlaf.ui.FlatNativeMacLibrary;
import com.formdev.flatlaf.util.SystemInfo;
/**
@@ -117,6 +118,10 @@ public class FlatLafDemo
// show frame
frame.pack();
frame.setLocationRelativeTo( null );
if( SystemInfo.isMacOS && FlatNativeMacLibrary.isLoaded() ) {
// TODO use client property
FlatNativeMacLibrary.setWindowToolbar( frame );
}
frame.setVisible( true );
} );
}