Ich bin nicht sofort herausgekommen, also mach dir eine Notiz.
MainWindow.java
public class MainPanel extends JPanel{
public MainPanel(){
JButton button1 = new JButton("Taste");
add(button1);
}
public static void main(String[] args){
JFrame frame = new JFrame();
MainPanel mainPanel = new MainPanel();
frame.getContentPane().add(mainPanel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
Wenn nichts unternommen wird, wird "MainWindow" in der Menüleiste angezeigt. Gehen Sie wie folgt vor. Bestätigt mit macOS 10.12.6 und JRE 9.0.1.
MainWindow.java
public class MainPanel extends JPanel{
public MainPanel(){
JButton button1 = new JButton("Taste");
add(button1);
}
}
//Mach eine andere Klasse. Jeder Name
class Loader{
public static void main(String[] args){
//Verwenden Sie die Systemmenüleiste
System.setProperty("apple.laf.useScreenMenuBar", "true");
//Angeben des Anwendungsnamens
System.setProperty("apple.awt.application.name", "test");
JFrame frame = new JFrame();
MainPanel mainPanel = new MainPanel();
frame.getContentPane().add(mainPanel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
Geben Sie Eigenschaften für die JRE mit "System.setProperty" an. Zu diesem Zeitpunkt muss ** angegeben werden, bevor Swing geladen wird. Wenn Sie JPanel in eine Erweiterungsklasse schreiben, wird zuerst Swing geladen. Daher ist es notwendig, eine separate Klasse zu erstellen, die nicht mit Swing zusammenhängt, und sie am Anfang der Hauptmethode dort zu schreiben.
Recommended Posts