Aces Charles
Aces Charles

Reputation: 21

Form Layout issue - Java Swing GUI (Netbeans)

I have this issue with the design of my application when running. The image below shows how I would like my application to look which is created in the design view of netbeans.

Form Editor

Here is how it looks when the application is running.

GUI when running.

The border is not even aligned with the text and the button component and scroll-wheel does not match the one in design view. Is there a way that in which i can apply this theme to my running application as the GUI design is hideous.

Upvotes: 0

Views: 512

Answers (1)

MadProgrammer
MadProgrammer

Reputation: 347334

There's nothing wrong with the layout, it's simply that the form designer is showing the system look and feel and you're running with Nimbus. Take a look at How to Set the Look and Feel for more details

In you "main" class/method you will have some code that will likely look like...

/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
 * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
 */
try {
    for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
        if ("Nimbus".equals(info.getName())) {
            javax.swing.UIManager.setLookAndFeel(info.getClassName());
            break;
        }
    }
} catch (ClassNotFoundException ex) {
    java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
    java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
    java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
    java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>

Which could simply replace with something like...

try {
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
    ex.printStackTrace();
}

which will cause Swing to use the system/native look and feel instead

Upvotes: 2

Related Questions