Swing-Fenster mit Menü- und Toolbar

Status
Nicht offen für weitere Antworten.

Cornholio

Mitglied
Hallo,

ich möchte zu meinem Swing-Fenster mit den Methoden buildMenu bzw. buildToolBar eine Menü- bzw. eine Toolbar hinzufügen. Ich muss auch diese beiden Methoden verwenden, ist in der Aufgabenstellung so gefordert.


Code:
 import javax.swing.*;

import java.awt.*;
import java.awt.event.*;


public class PersonalWebBrowser extends JFrame {

	public PersonalWebBrowser() {
		this.setTitle("Personal Web Browser");
		this.setPreferredSize(new Dimension(800,600));
	    this.setMaximumSize(new Dimension(1024,768));
	    this.setMinimumSize(new Dimension(0,0));
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
	public static void buildMenu() {
		JMenuBar menu = new JMenuBar();
		
		JMenu datei = new JMenu("Datei");
		
			JMenuItem open = new JMenuItem("Seite öffnen");
			JMenuItem close = new JMenuItem("Beenden");
		
			open.addActionListener (new OpenActionListener());
			close.addActionListener (new CloseActionListener());
			
			datei.add(open);
			datei.add(close);
			
		JMenu navigation = new JMenu("Navigation");
			JMenuItem forward = new JMenuItem("Vor");
			JMenuItem back = new JMenuItem("Zurück");
			JMenuItem reload = new JMenuItem("Neu laden");
			JMenuItem abort = new JMenuItem("Abbrechen");
			JMenuItem newtab = new JMenuItem("Neuer Tab");
			JMenuItem closetab = new JMenuItem("Tab schließen");
			
			forward.addActionListener (new ForwardActionListener());
			back.addActionListener (new BackActionListener());
			reload.addActionListener (new ReloadActionListener());
			abort.addActionListener (new AbortActionListener());
			newtab.addActionListener (new NewTabActionListener());
			closetab.addActionListener (new CloseTabActionListener());
			
			navigation.add(forward);
			navigation.add(back);
			navigation.add(reload);
			navigation.add(abort);
			navigation.add(newtab);
			navigation.add(closetab);
			
		menu.add(datei);
		menu.add(navigation);
		
		
		
	}
	
	public static void buildToolBar() {
		JToolBar toolbar = new JToolBar();
		
			ImageIcon one = new ImageIcon("images/forward.gif");
			JButton forward = new JButton(one);
		
			ImageIcon two = new ImageIcon("images/back.gif");
			JButton back = new JButton (two);
		
			ImageIcon three = new ImageIcon("images/reload.gif");
			JButton reload = new JButton (three);
			
			ImageIcon four = new ImageIcon("images/abort.gif");
			JButton abort = new JButton (four);
			
			ImageIcon five = new ImageIcon("images/newtab.gif");
			JButton newtab = new JButton (five);
			
			ImageIcon six = new ImageIcon("images/closetab.gif");
			JButton closetab = new JButton (six);
		
			forward.addActionListener (new ForwardActionListener());
			back.addActionListener (new BackActionListener());
			reload.addActionListener (new ReloadActionListener());
			abort.addActionListener (new AbortActionListener());
			newtab.addActionListener (new NewTabActionListener());
			closetab.addActionListener (new CloseTabActionListener());
			
			
			toolbar.add(forward);
			toolbar.add(back);
			toolbar.add(reload);
			toolbar.add(abort);
			toolbar.add(newtab);
			toolbar.add(closetab);
			
		
			
	}

	
	public static void main(String[] args) {
	
	
		buildMenu();
		buildToolBar();	
		
	JFrame.setDefaultLookAndFeelDecorated(true);
	JFrame f1 = new PersonalWebBrowser();
		
	f1.pack();
	f1.setVisible(true);
	f1.setLocationRelativeTo(null);
	}
}

Ich bekomme keine Menü-und Toolbar angezeigt (weil ich setJMenuBar(menu) und setToolBar(toolbar) nirgends stehen habe). Wenn ich in die Methoden selbst so etwas wie this.setJMenuBar(menu) schreibe, bekomme ich eine Fehlermeldung.


Weiß jemand wo ich diese Befehle hinschreiben muss??


Danke vielmals.
 

Haslicher

Mitglied
Hi

du musst das so machen das du die JMenubar unten auch irgendwie dazu machst also entweder in buildMenu this. set

setJMenuBar(mb); und hier JMenuBar mb = new JMenuBar();

oder du musst unten dann sagen f1.setMenuBar(..); so in etwa muss es gehn habs eben versucht aber auf die schnelle noch nicht gefunden.
 

Cornholio

Mitglied
hm, danke erstmal, aber wenn ich in der Main-Methode
Code:
 f1.setJMenuBar(menu)
reinschreibe, heisst es "menu cannot be resolved" und wenn ich oben in der Methode mit this arbeite heißt es "cannot use this in a static context".

Aber die Methoden müssen doch statisch sein, weil ich sie sonst nicht aus der main-klasse aufrufen kann, oder?
 

L-ectron-X

Gesperrter Benutzer
Habs ein wenig umgebaut. Ohne die restlichen Klassen konnte ich's nicht testen. Ohne die Listener gings jedoch.
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


public class PersonalWebBrowser extends JFrame {

   public PersonalWebBrowser() {
      setTitle("Personal Web Browser");
      setPreferredSize(new Dimension(800, 600));
      setMaximumSize(new Dimension(1024, 768));
      setMinimumSize(new Dimension(0, 0));
      buildMenu();
      buildToolBar();
      pack();
      setLocationRelativeTo(null);
      setDefaultLookAndFeelDecorated(true);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

   }

   public void buildMenu() {
      JMenuBar menu = new JMenuBar();

      JMenu datei = new JMenu("Datei");

      JMenuItem open = new JMenuItem("Seite öffnen");
      JMenuItem close = new JMenuItem("Beenden");

      open.addActionListener (new OpenActionListener());
      close.addActionListener (new CloseActionListener());

      datei.add(open);
      datei.add(close);

      JMenu navigation = new JMenu("Navigation");
      JMenuItem forward = new JMenuItem("Vor");
      JMenuItem back = new JMenuItem("Zurück");
      JMenuItem reload = new JMenuItem("Neu laden");
      JMenuItem abort = new JMenuItem("Abbrechen");
      JMenuItem newtab = new JMenuItem("Neuer Tab");
      JMenuItem closetab = new JMenuItem("Tab schließen");

      forward.addActionListener (new ForwardActionListener());
      back.addActionListener (new BackActionListener());
      reload.addActionListener (new ReloadActionListener());
      abort.addActionListener (new AbortActionListener());
      newtab.addActionListener (new NewTabActionListener());
      closetab.addActionListener (new CloseTabActionListener());

      navigation.add(forward);
      navigation.add(back);
      navigation.add(reload);
      navigation.add(abort);
      navigation.add(newtab);
      navigation.add(closetab);

      menu.add(datei);
      menu.add(navigation);
      
      setJMenuBar(menu);
   }

   public void buildToolBar() {
      JToolBar toolbar = new JToolBar();

      ImageIcon one = new ImageIcon("images/forward.gif");
      JButton forward = new JButton(one);

      ImageIcon two = new ImageIcon("images/back.gif");
      JButton back = new JButton (two);

      ImageIcon three = new ImageIcon("images/reload.gif");
      JButton reload = new JButton (three);

      ImageIcon four = new ImageIcon("images/abort.gif");
      JButton abort = new JButton (four);

      ImageIcon five = new ImageIcon("images/newtab.gif");
      JButton newtab = new JButton (five);

      ImageIcon six = new ImageIcon("images/closetab.gif");
      JButton closetab = new JButton (six);

      forward.addActionListener (new ForwardActionListener());
      back.addActionListener (new BackActionListener());
      reload.addActionListener (new ReloadActionListener());
      abort.addActionListener (new AbortActionListener());
      newtab.addActionListener (new NewTabActionListener());
      closetab.addActionListener (new CloseTabActionListener());

      toolbar.add(forward);
      toolbar.add(back);
      toolbar.add(reload);
      toolbar.add(abort);
      toolbar.add(newtab);
      toolbar.add(closetab);
   }


   public static void main(String[] args) {
      new PersonalWebBrowser().setVisible(true);
   }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Im Fenster bleiben (swing) Java Basics - Anfänger-Themen 16
M Timer-Thread in Swing öffnet jedes Mal ein neues Fenster Java Basics - Anfänger-Themen 6
K Swing Fenster jede sec.neuzeichnen Java Basics - Anfänger-Themen 14
K Bild als Hintergrund in einem Swing Fenster Java Basics - Anfänger-Themen 21
H Swing Fenster -> Farbauswahl ?! wie speichern, ... Java Basics - Anfänger-Themen 4
G Swing Komponente so groß wie Fenster Java Basics - Anfänger-Themen 10
C In Swing Applet ein Fenster aufziehen Java Basics - Anfänger-Themen 6
megachucky Swing - suche fenster welches nicht schließbar ist Java Basics - Anfänger-Themen 3
J SWING UI Designer und zeichnen Java Basics - Anfänger-Themen 4
G Maven Swing: Wie verwende ich WindowListener ? Java Basics - Anfänger-Themen 2
C Threads und Swing Java Basics - Anfänger-Themen 9
A Swing: Raumshiff Java Basics - Anfänger-Themen 3
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
nbergmann Wo ist javax.swing.JOptionPane gespeichert? Java Basics - Anfänger-Themen 4
StevenGG Java swing "New Integer" Java Basics - Anfänger-Themen 5
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
O ImageIcon, Swing Java Basics - Anfänger-Themen 1
O Swing JPanel Java Basics - Anfänger-Themen 4
F Swing - Fehler - Paint Methode Java Basics - Anfänger-Themen 7
M Input/Output Java Swing: Prüft ob Text aus JTextField ausschließlich Integer enthält Java Basics - Anfänger-Themen 15
mobaer Swing Timer stoppen Java Basics - Anfänger-Themen 3
M Wie kann ich hier ein Textfeld hinzufügen Java Swing? Java Basics - Anfänger-Themen 1
M SpielMenü mit Swing Java Basics - Anfänger-Themen 3
M Wie kann ich eine Eingabe im Java-Swing übergeben? Java Basics - Anfänger-Themen 1
N javax swing JOptionPane Hilfe Java Basics - Anfänger-Themen 3
H Swing Button hat falsche Größe Java Basics - Anfänger-Themen 5
C Der Swing Layout-Manager hasst mich Java Basics - Anfänger-Themen 4
M Java swing im Browser starten Java Basics - Anfänger-Themen 0
M JavaFX in Swing-Applikationen einbetten Java Basics - Anfänger-Themen 5
Z Threads SWING mit EventQueue.invokeLater Java Basics - Anfänger-Themen 1
P JDK installieren javac behauptet Javax.swing existiert nicht Java Basics - Anfänger-Themen 8
K Ascii Converter mit Swing Java Basics - Anfänger-Themen 4
b1ck Interface Verständnisfrage zum GUI mit "swing" Java Basics - Anfänger-Themen 1
N Erste Schritte Karte in SWING Application Java Basics - Anfänger-Themen 4
D Mehrfacherfassung in Swing GUI Java Basics - Anfänger-Themen 12
D Datum aus Swing in MySQL DB speichern Java Basics - Anfänger-Themen 22
R warum kann System.out.println(..) etwas, was Swing-Elemente Nicht können ? Java Basics - Anfänger-Themen 11
J Input/Output Charset Swing- Eingaben? Java Basics - Anfänger-Themen 8
S JUnit - Swing- Anwendung wird nicht neu gestartet Java Basics - Anfänger-Themen 0
Q Threads Threads in Swing Anwendungen Java Basics - Anfänger-Themen 5
B Swing intstalliert Eclips{}, mackiert Rot Java Basics - Anfänger-Themen 6
U Java Swing Timer mit ButtonKlick starten u. nach 12 Sekunden Befehl ausführen Java Basics - Anfänger-Themen 7
S Input/Output In Java Swing auf Button warten? Java Basics - Anfänger-Themen 9
N Problem mit Swing Textfeld und Zugriff aus anderer Klasse Java Basics - Anfänger-Themen 6
G Performance - höhere Anzahl Swing Elemente Java Basics - Anfänger-Themen 5
B Java Swing "Zeichenfläche" Java Basics - Anfänger-Themen 1
O Alternative zum swing-Timer Java Basics - Anfänger-Themen 5
F Swing Applet: mehrere Komponenten hinzufügen Java Basics - Anfänger-Themen 1
F Platzieren von Komponenten in Swing Applet funktioniert nicht Java Basics - Anfänger-Themen 3
P Hintergrundbild in Swing einfügen Java Basics - Anfänger-Themen 3
C Swing frage Java Basics - Anfänger-Themen 8
T Rechenprogramm mit Swing Java Basics - Anfänger-Themen 3
K Swing Darstellungsproblem Java Basics - Anfänger-Themen 11
G Verständnisproblem mit swing Java Basics - Anfänger-Themen 6
P Swing - Blackscreen Java Basics - Anfänger-Themen 10
Y Random-Objekt und Swing Java Basics - Anfänger-Themen 4
M Klassen Hilfe bei SWING Java Basics - Anfänger-Themen 5
S GUI Problem: Swing Java Basics - Anfänger-Themen 8
M Javax.swing - Timer(2 Button) Java Basics - Anfänger-Themen 17
J Timer - Swing Java Basics - Anfänger-Themen 5
B Erste Schritte Primefaces -> Swing Gui Java Basics - Anfänger-Themen 7
T Swing, SWT oder JavaFX Java Basics - Anfänger-Themen 8
S Programmoberfläche mit Java-Swing - Herangehensweise Java Basics - Anfänger-Themen 20
E Fragen zu paintXXX in Swing Java Basics - Anfänger-Themen 7
D Erste Schritte bash-Befehl mit Swing ausführen Java Basics - Anfänger-Themen 8
A Alternative zum manuellen Swing programmieren?? Java Basics - Anfänger-Themen 4
S Android fuer Swing-Kenner..? Java Basics - Anfänger-Themen 6
J Swing Timer Java Basics - Anfänger-Themen 3
B Seltsamer Fehler in SWING anwendung Java Basics - Anfänger-Themen 2
D GPS Tracker Swing Java Basics - Anfänger-Themen 2
L Erste Schritte Swing oder SWT Paint mit Grafikkarte? Java Basics - Anfänger-Themen 7
B Einstieg in swing GUI Java Basics - Anfänger-Themen 7
S Swing Eingabe Erzwingen Java Basics - Anfänger-Themen 3
S Swing JTable Java Basics - Anfänger-Themen 7
Z Input/Output Programm mit Swing umsetzen Java Basics - Anfänger-Themen 6
K Eclipse wie Swing per Drag und Drop erstellen Java Basics - Anfänger-Themen 2
V Dropdown Button in einer GUI (Java Swing) Java Basics - Anfänger-Themen 12
S Swing, Gridbaglayout Panel in Panel;funzt nicht!! Java Basics - Anfänger-Themen 3
O swing komponenten werden nicht angezeigt Java Basics - Anfänger-Themen 6
S Swing, Panel über Hintergrundbild!! Java Basics - Anfänger-Themen 6
M Einfacher Swing Wizard Java Basics - Anfänger-Themen 3
E Swing FileWrite?? Java Basics - Anfänger-Themen 3
S Umlaute in Swing-GUI Java Basics - Anfänger-Themen 8
K Drop-down Menü (swing) Java Basics - Anfänger-Themen 4
M Swing Klasse auch per Kommandozeile starten? Java Basics - Anfänger-Themen 2
S JAVA Swing Eventlistener Java Basics - Anfänger-Themen 11
P Swing - Welche Klasse für ausgeben von Ergebnissen? Java Basics - Anfänger-Themen 3
V Swing Componenten werden auf Mac nicht angezeigt Java Basics - Anfänger-Themen 19
J Überfordert mit Swing Java Basics - Anfänger-Themen 5
B Baum > Baum-Swing Java Basics - Anfänger-Themen 4
B Bei Swing weg vom North-West-South-East-Prinzip Java Basics - Anfänger-Themen 2
F Werteübergabe in Swing Formularen (gui Builder) Java Basics - Anfänger-Themen 9
L Swing GridBagLayout Java Basics - Anfänger-Themen 3
J unterschied zwischen awt und swing Java Basics - Anfänger-Themen 6
C Swing i.V.m. Threads Java Basics - Anfänger-Themen 2
J XML Viewer for Swing Java Basics - Anfänger-Themen 6
Y Anfänger Hausaufgabe... Swing Java Basics - Anfänger-Themen 6
W Zeichnen in Swing Java Basics - Anfänger-Themen 7
B Swing Applikation mit mehreren Klassen Java Basics - Anfänger-Themen 2
C Swing, Buttons Wert zuweisen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben