Search code examples
javaswingfontsjdialog

Font size of JDialog title


How do I set the font size of the title of a JDialog. I'm displaying JDialogs on extremely high resolution monitors (5 mega pixels), and the dialog titles are not legible. I need to do this on a per dialog basis because the application is multi-monitor, and some dialogs appear on lower resolution monitors, and some on higher resolution monitors.


Solution

  • You can play with setDefaultLookAndFeelDecorated(), but the title bar is not going to look native or like other normal dialogs, but you can try this.

        JDialog.setDefaultLookAndFeelDecorated(true);
        JDialog dialog = new JDialog(frame, "Test");
        dialog.getLayeredPane().getComponent(1).setFont(new Font("Lucida",Font.PLAIN,48));  
        dialog.setSize(300,100);  
        dialog.setLocation(400,200);  
        dialog.setVisible(true); 
    

    outputs the following

    enter image description here

    Note: the setDefaultLookAndFeelDecorated() method

    Provides a hint as to whether or not newly created JFrames should have their Window decorations (such as borders, widgets to close the window, title...) provided by the current look and feel.

    so there is no guarantee that it will work the same way on different settings, I would assume.