Java è un linguaggio di programmazione molto potente e molto versatile. Uno dei suoi punti di forza è la portabilità, cioè la possibilità di scrivere il codice una volta e di farlo girare su sistemi operativi differenti senza dover scrivere una riga di codice in più.
Di seguito vi riporto un codice di esempio con le righe in questione:
Diciamo che il codice "gira" tranquillamente su sistemi diversi, ma a volte è necessario scriverlo in modo che le applicazione abbiano un aspetto più "nativo".
Uno dei problemi frequenti infatti è quello di dover aggiustare l'aspetto del classico menu dell'applicazione e renderlo identico al menu applicazione di MacOS. Per rendere possibile questa operazione è necessario aggiungere qualche riga di codice alla vostra applicazione e gestire le possibili eccezioni in modo da non bloccare in nessun modo la partenza del vostro programma!
Di seguito vi riporto un codice di esempio con le righe in questione:
package asdasd; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.UIManager; /** @author alektos */ public class MacOsFrame { public MacOsFrame() { JFrame frame = new JFrame("Test menu"); JMenuBar menuBar = new JMenuBar(); JMenu menuTest = new JMenu("File"); menuTest.add(new JMenuItem("Exit")); menuBar.add(menuTest); frame.setSize(400, 400); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setJMenuBar(menuBar); frame.setVisible(true); } public static void main(String[] args) { try { System.setProperty("apple.laf.useScreenMenuBar", "true"); System.setProperty("com.apple.mrj.application.apple.menu.about.name", "Test"); UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception e) { System.out.println("Exception: " + e.getMessage()); } javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { new MacOsFrame(); } }); } }Spero di essere stato d'aiuto. Buona programmazione a tutti!
Commenti
Posta un commento
Gli autori non sono responsabili per quanto pubblicato dai lettori nei commenti ad ogni post. Verranno cancellati i commenti ritenuti offensivi o lesivi dell’immagine o dell’onorabilità di terzi, di genere spam, razzisti o che contengano dati personali non conformi al rispetto delle norme sulla Privacy e, in ogni caso, ritenuti inadatti ad insindacabile giudizio degli autori stessi.