public class SOCFrame extends JFrame implements ActionListener {
private ImageIcon icon;
private JTabbedPane tabbedpane;
/**
* Default-Konstruktor
*/
public SOCFrame() {
super("v0.0");
// Closes from title bar and from menu
addWindowListener(new WindowClosingAdapter(true));
tabbedpane = new JTabbedPane(SwingConstants.TOP);
tabbedpane.setBackground(Color.BLUE);
tabbedpane.setForeground(Color.WHITE);
populateJTabbedPane(); // Methode für die Erstellung der einzelnen Tabs
// Aufruf einer Methode zum Setzen des Menüs
buildMenu();
getContentPane().add(tabbedpane);
pack();
}
/**
* Methode zum Setzen der einzelnen Tabs
*/
private void populateJTabbedPane() {
tabbedpane.addTab("Einstellungen", null, new Optionen(),
"Klicken Sie hier um die benötigten Einstellungen vorzunehmen");
}
/**
* Methode zum Erstellen des Menüs
*/
private void buildMenu() {
JMenuBar menubar = new JMenuBar();
// Menü Datei
JMenu file = new JMenu("Datei");
file.setMnemonic('D');
icon = new ImageIcon(getClass().getResource("img/exit.png"));
JMenuItem exit = new JMenuItem("Beenden", icon);
exit.setMnemonic('e');
exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, Event.CTRL_MASK));
exit.addActionListener(this);
// Hinzufügen des Menüeintrags zum Menü
file.add(exit);
// Menü Hilfe
JMenu help = new JMenu("Hilfe");
help.setMnemonic('H');
icon = new ImageIcon(getClass().getResource("img/info.png"));
JMenuItem info = new JMenuItem("Info", icon);
info.addActionListener(this);
help.add(info);
// Hinzufügen des Menüs zur Menüleiste
menubar.add(file);
menubar.add(Box.createHorizontalGlue());
menubar.add(help);
// Setzen der Menübar im Fenster
setJMenuBar(menubar);
}
/**
* actionPerformed-Methode des Interface ActionListener. Schließt die Anwendung
* vom Menü aus
*/
public void actionPerformed(ActionEvent evt) {
String cmd = evt.getActionCommand();
if (cmd.equals("Beenden"))
System.exit(0);
if (cmd.equals("Info"))
new Info();
}
/**
* Die main-Methode der Anwendung.
* @param args Die Kommandozeilenargumente
*/
public static void main(String [] args) {
SOCFrame frame = new SOCFrame();
// frame.setUndecorated(true); // Position nicht veränderbar
frame.setSize(680,570); // Höhe und Breite des Fensters
frame.setBackground(Color.WHITE); // Hintergrundfarbe des Fensters
frame.setResizable(false); // Fenstergröße nicht veränderbar
frame.setVisible(true); // Fenster sichtbar machen
}
}