kleines Menü erzeugen und anzeigen

Status
Nicht offen für weitere Antworten.

Coldstorm

Aktives Mitglied
hi,

ich hab ein funktionierendes Programm. Nun will ich ein Menü einbinden.
Ich hab die Menüpunkte schon deklariert.
Ich hab dazu folgende Fragen:
1. Wie werden die Menüpunkte sichtbar?
2. Ich wollte am liebsten "extends JPanel" statt "extends JFrame" machen, aber er unterstreicht dann so viel. Welche Auswirkungen hätte diese Änderung wirklich?
3. Betrifft diese Änderung auch andere Klassen oder kann ich sie problemlos durchführen?
4. Wenn nicht, was muss ich alles ändern?

Das Programm soll bestehen aus einem Menü oben, in der Mittel das Brett und unten eventuell noch eine Statusleiste.
Hier der Code:
Java:
public class Chess extends JFrame {
	private ChessBoard board;
	private Square selectedSquare;
	private JMenuBar menueLeiste;
	private JMenu datei, hilfe; //Oberpunkte des Menüs
	private JMenuItem neuesSpiel, beenden, anleitung, spielregeln; //Unterpunkte
	

	public Chess() {

		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setBounds(0, 0, 800, 800);
		this.setLocationRelativeTo(null);//zentrieren
		this.getContentPane().add(menueLeiste = new JMenuBar(), BorderLayout.NORTH);
		//Warum wird es nicht angezeigt??
		this.getContentPane().add(board = new ChessBoard(), BorderLayout.CENTER);
		board.setPreferredSize(new Dimension(200, 200));
		
		board.addMouseListener(new MouseListener(){

			public void mouseClicked(MouseEvent evt) {
				if (evt.getSource() instanceof Square) {
					selectedSquare = (Square)evt.getSource();
					//System.out.println(selectedSquare);
				}
			}

			public void mouseEntered(MouseEvent evt) {
				if (evt.getSource() instanceof Square) {
					selectedSquare = (Square)evt.getSource();
					//if (selectedSquare.isOccupied())
					//	System.out.println(selectedSquare.getFigur().toString());
				}
			}
			public void mouseExited(MouseEvent evt) {}
			public void mousePressed(MouseEvent evt) {}
			public void mouseReleased(MouseEvent evt) {}
		});
	}

	public static void main(String[]args) {
		new Chess().setVisible(true);
	}
}
 

xorm

Mitglied
Hm wenn dir der Unterschied zwischen "extends JFrame" und "extends JPanel" nicht klar ist solltest du dir am besten nochmal das Prinzip der Vererbung und die Dokumentation der Klassen JFrame und JPanel angucken. JFrame ist zunächst einmal das Fenster. Ein JPanel kannst du dir einfach als Fläche vorstellen, auf der verschiedene Sachen angezeigt werden. Du kannst auch von JPanel ableiten, allerdings bräuchtest du dann trotzdem einen JFrame für das Fenster, dem du deine Klasse (JPanel) dann als komponente hinzufügst. Das sähe dann in etwa so aus:
Java:
JFrame frame = new JFrame("toller Frame");
frame.setBounds(..);
frame.setDefaultCloseOperation(..);
frame.add(this); // JPanel hinzufügen

Zum hinzufügen von Menuleisten verwendet man nicht die add() Methode. JFrame stellt dafür die Methoden setMenuBar() bzw. setJMenuBar() zur Verfügung. Das sieht dann in etwa so aus:
Java:
JMenuBar bar = new JMenuBar();
JMenu menu = new JMenu("Spiel");
JMenuItem newGame = new JMenuItem("Neu");
JMenuItem quitGame = new JMenuItem("Beenden");
menu.add(newGame);
menu.add(quitGame);
bar.add(menu);
frame.setJMenuBar(bar);

/e: Habe den Code jetzt nicht überprüft. Kann also sein das noch irgendwelche kleinen Schreibfehler drin sind.
 
Zuletzt bearbeitet:

Coldstorm

Aktives Mitglied
Cannot be resolved...hm...wo soll ich das denn einfügen in meinem Beispielcode, dass es geht?
frame.setJMenuBar(bar); sollte NORTH sein...wo gib ich das an?
Wo soll dein Code in meinen? Also irgendwie verstehen sich die ned...
 

Coldstorm

Aktives Mitglied
ich werde hier wohl auf den Arm genommen -.-
Das hab ich schon mitbekommen, nur geht das bei mir ned...
Und in Galileo hab ich nix konkretes gefunden...vielleicht hab ich das bei den 400 Seiten übersehen...
 

Michael...

Top Contributor
ich werde hier wohl auf den Arm genommen
Nein, es soll Dich nur ein bisschen dazu animieren, sich Sachen selbst anzueignen und nicht gleich bei jeder Nichtigkeit um Hilfe zu schreien. Ich habe Dir ja schon vor ein paar Wochen nahe gelegt sich mit den Grundlagen von Java auseinander zu setzen, und den Code habe ich Dir gegeben, damit Du Dir das anschaust und daraus was lernst und nicht um ihn einfach zu kopieren.
 

Coldstorm

Aktives Mitglied
habs schon versucht...
naja ich spiele mich noch ein bisschen, vielleicht klappt es ja
sorry, dass ich so voreilig gefragt habe...
 

Coldstorm

Aktives Mitglied
kann man das verkürzen ?

Java:
	public BoardModel() {
		img = new Image[2][6];

		img[AbstractChessPiece.WHITE_TEAM] = new Image[] {
			new ImageIcon(getClass().getResource("/pictures/king_white.gif")).getImage(),
			new ImageIcon(getClass().getResource("/pictures/queen_white.gif")).getImage(),
			new ImageIcon(getClass().getResource("/pictures/bishop_white.gif")).getImage(),
			new ImageIcon(getClass().getResource("/pictures/knight_white.gif")).getImage(),
			new ImageIcon(getClass().getResource("/pictures/rook_white.gif")).getImage(),
			new ImageIcon(getClass().getResource("/pictures/pawn_white.gif")).getImage()
		};
		img[AbstractChessPiece.BLACK_TEAM] = new Image[] {
			new ImageIcon(getClass().getResource("/pictures/king_black.gif")).getImage(),
			new ImageIcon(getClass().getResource("/pictures/queen_black.gif")).getImage(),
			new ImageIcon(getClass().getResource("/pictures/bishop_black.gif")).getImage(),
			new ImageIcon(getClass().getResource("/pictures/knight_black.gif")).getImage(),
			new ImageIcon(getClass().getResource("/pictures/rook_black.gif")).getImage(),
			new ImageIcon(getClass().getResource("/pictures/pawn_black.gif")).getImage()
		};
		this.intialize();
	}

mit einem String-Array eine Schleife durchlaufen? Geht schlecht oder, wenn das zweidimensional ist...
 

Michael...

Top Contributor
kann man das verkürzen ?

Java:
	public BoardModel() {
		img = new Image[2][6];

		img[AbstractChessPiece.WHITE_TEAM] = new Image[] {
			new ImageIcon(getClass().getResource("/pictures/king_white.gif")).getImage(),
			new ImageIcon(getClass().getResource("/pictures/queen_white.gif")).getImage(),
			new ImageIcon(getClass().getResource("/pictures/bishop_white.gif")).getImage(),
			new ImageIcon(getClass().getResource("/pictures/knight_white.gif")).getImage(),
			new ImageIcon(getClass().getResource("/pictures/rook_white.gif")).getImage(),
			new ImageIcon(getClass().getResource("/pictures/pawn_white.gif")).getImage()
		};
		img[AbstractChessPiece.BLACK_TEAM] = new Image[] {
			new ImageIcon(getClass().getResource("/pictures/king_black.gif")).getImage(),
			new ImageIcon(getClass().getResource("/pictures/queen_black.gif")).getImage(),
			new ImageIcon(getClass().getResource("/pictures/bishop_black.gif")).getImage(),
			new ImageIcon(getClass().getResource("/pictures/knight_black.gif")).getImage(),
			new ImageIcon(getClass().getResource("/pictures/rook_black.gif")).getImage(),
			new ImageIcon(getClass().getResource("/pictures/pawn_black.gif")).getImage()
		};
		this.intialize();
	}

mit einem String-Array eine Schleife durchlaufen? Geht schlecht oder, wenn das zweidimensional ist...
klar kann man das kürzen, wie Du schon sagst z.B. mit einen Array aus Strings und dann per Schleife. Oder so auf eine Zeile:
Java:
img = new Image[][] {{new ImageIcon(getClass().getResource("/chess2/king_white.png")).getImage(), new ImageIcon(getClass().getResource("/chess2/queen_white.png")).getImage(), new ImageIcon(getClass().getResource("/chess2/bishop_white.png")).getImage(), new ImageIcon(getClass().getResource("/chess2/knight_white.png")).getImage(),new ImageIcon(getClass().getResource("/chess2/rook_white.png")).getImage(),new ImageIcon(getClass().getResource("/chess2/pawn_white.png")).getImage()}, {new ImageIcon(getClass().getResource("/chess2/king_black.png")).getImage(),new ImageIcon(getClass().getResource("/chess2/queen_black.png")).getImage(),new ImageIcon(getClass().getResource("/chess2/bishop_black.png")).getImage(),new ImageIcon(getClass().getResource("/chess2/knight_black.png")).getImage(),new ImageIcon(getClass().getResource("/chess2/rook_black.png")).getImage(),new ImageIcon(getClass().getResource("/chess2/pawn_black.png")).getImage()}};
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Kleines Java-Projekt; Kassenprogramm Java Basics - Anfänger-Themen 7
Kotelettklopfer Kleines Testprogramm mit Interface und einer Usereingabe Java Basics - Anfänger-Themen 16
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10
Koookie Kleines Frage - Antwort Programm (Anfänger) Java Basics - Anfänger-Themen 5
K Erstes kleines Spieleprojekt - Java GUI in HTML einbinden Java Basics - Anfänger-Themen 3
R Kleines Java Spiel funktioniert nicht. Java Basics - Anfänger-Themen 2
J Kleines Rechenprogramm Java Basics - Anfänger-Themen 13
G Erste Schritte Suche Java Programmierer für kleines Projekt Java Basics - Anfänger-Themen 1
Z Erste Schritte Kleines 2D. Spiel Objekt Bewegung funktioniert nicht Java Basics - Anfänger-Themen 2
B Input/Output Kleines Netzwerkproblem Java Basics - Anfänger-Themen 2
J OOP Kleines Schülerverwaltungsprogramm Java Basics - Anfänger-Themen 9
F Methoden Kleines Problem mit meinem Glücksrad... Java Basics - Anfänger-Themen 9
N ein kleines GUI mit einem hauch XML Java Basics - Anfänger-Themen 5
K Kleines Spiel auf Java programmieren Java Basics - Anfänger-Themen 2
T erstes kleines Programm Java Basics - Anfänger-Themen 17
S Kleines Quiz Programm Java Basics - Anfänger-Themen 4
C Hilfe - Kleines Programm macht mir Schwierigkeiten Java Basics - Anfänger-Themen 2
A Kleines Abbruch-Problem mit Do-While-Schleife Java Basics - Anfänger-Themen 4
K Ein kleines Rätsel Java Basics - Anfänger-Themen 2
E Erstes "kleines" Programm Java Basics - Anfänger-Themen 5
D kleines problem bei system.out.println schreibweise Java Basics - Anfänger-Themen 6
C Kleines Problem mit System.out.print Java Basics - Anfänger-Themen 1
A Best Practice Ideen für kleines Anfängerschulprojekt gesucht Java Basics - Anfänger-Themen 4
J kleines Karteikartenprogramm Java Basics - Anfänger-Themen 3
S Kleines Zeichen berechnen Java Basics - Anfänger-Themen 5
fLooojava kleines Projekt - Verwendung von Youtube Java Basics - Anfänger-Themen 22
E Array zu Liste - kleines Problem Java Basics - Anfänger-Themen 6
fLooojava Passwort generieren - kleines Programm Java Basics - Anfänger-Themen 15
H Kleines Prob Java Basics - Anfänger-Themen 5
J Vererbung Kleines Problem bei Vererbung! Java Basics - Anfänger-Themen 2
O Debug-Funktion mit Slick - Kleines Problem Java Basics - Anfänger-Themen 5
J Flaechen vergleichen/kleines Fehler? Java Basics - Anfänger-Themen 23
H Kleines Problem bei den Schleifen Java Basics - Anfänger-Themen 5
M Kleines Problem mit der Rekursion Java Basics - Anfänger-Themen 20
K Kleines Projekt Java Basics - Anfänger-Themen 2
T Kleines Game mit Kollision Java Basics - Anfänger-Themen 2
J Mal wieder ein kleines Toleranzproblem Java Basics - Anfänger-Themen 20
H kleines Spiel [Processing] Java Basics - Anfänger-Themen 7
T kleines problem mit switch case Java Basics - Anfänger-Themen 11
R Kleines Programm, benötige Hilfe! Java Basics - Anfänger-Themen 6
V Schon wieder ein kleines problem...dieses mal mit do-while loop Java Basics - Anfänger-Themen 9
R Login mit Datenbankabfrage: Kleines Problem! Java Basics - Anfänger-Themen 6
K Kleines Anfänger Problem bei der Abfrage Java Basics - Anfänger-Themen 8
X Kleines JMenuBar Problem Java Basics - Anfänger-Themen 8
D Kleines Abfrageproblem Java Basics - Anfänger-Themen 3
K kleines Rekursionsproblem Java Basics - Anfänger-Themen 7
P RSA Verschlüsselung kleines Problem Java Basics - Anfänger-Themen 5
B Suche kleines Java-Applet Java Basics - Anfänger-Themen 6
P Kleines Problemm mit einer NullPointerException Java Basics - Anfänger-Themen 2
R kleines Kunstprogramm "mkbox" perfektionieren Java Basics - Anfänger-Themen 13
P wahrscheinlich ein kleines Problem Java Basics - Anfänger-Themen 7
P Kleines Projekt -> Große Überlegungen Java Basics - Anfänger-Themen 2
U Bitte Helfen kleines Spiel Java Basics - Anfänger-Themen 9
K Kleines Spiel / Daten speichern Java Basics - Anfänger-Themen 8
T Kleines Spiel realisieren - wie? Java Basics - Anfänger-Themen 6
H Kleines Problem mit der Polymorphie Java Basics - Anfänger-Themen 2
S "Kleines" Problem mit dem Timer Java Basics - Anfänger-Themen 4
K kleines Array-Problem Java Basics - Anfänger-Themen 6
C Kleines 2D Spiel. Problem. Java Basics - Anfänger-Themen 5
T Kleines Verständnissproblem mit Regex Java Basics - Anfänger-Themen 4
U Kleines Problem mit Konstruktor^^ Java Basics - Anfänger-Themen 7
S Kleines Kartenspiel mit Java Java Basics - Anfänger-Themen 2
D kleines Eclipse-Problem ! Java Basics - Anfänger-Themen 2
I Kleines Program, fehler? Java Basics - Anfänger-Themen 2
S kleines Würfelspiel Java Basics - Anfänger-Themen 10
0 Frage zu Architektur: Server eines kleines Spiels Java Basics - Anfänger-Themen 4
F kleines Programm für ungerade oder gerade Zahl. Java Basics - Anfänger-Themen 18
S Kleines TickTackTou Java Basics - Anfänger-Themen 10
O Kleines Problem mit Konstruktor mit Parametern aus generischer Klasse...oder so ;) Java Basics - Anfänger-Themen 2
M Kleines Problem mit Threads (synchronized) Java Basics - Anfänger-Themen 3
J Java, kleines denkproblem. :) Java Basics - Anfänger-Themen 4
N Kleines Problemchen mit ButtonGroup Java Basics - Anfänger-Themen 2
W ein kleines Projekt! Aber wie beginnen Java Basics - Anfänger-Themen 4
S Kleines Problem... NaN, Infinity? Java Basics - Anfänger-Themen 9
B Drag and Drop fähige Trackliste..nurnoch ein kleines Problem Java Basics - Anfänger-Themen 16
G Kleines Problem mit File Java Basics - Anfänger-Themen 7
O Neuen Blackberry 8800 oder Curve gegen kleines Programm Java Basics - Anfänger-Themen 9
Z kleines projekt Java Basics - Anfänger-Themen 3
G ein kleines java prog - hat aber einen fehler-bitte um hilfe Java Basics - Anfänger-Themen 5
GambaJo Brauche Bewertung + Tipps für mein kleines Projekt Java Basics - Anfänger-Themen 4
N Nur ein kleines Installationsproblem . Java Basics - Anfänger-Themen 5
G Kleines Problem mit Nimmspiel Java Basics - Anfänger-Themen 8
U kleines problem bei ner aufgabe :( Java Basics - Anfänger-Themen 8
G Kleines Problem mit Array Java Basics - Anfänger-Themen 14
S Kleines Programm mit ArrayList Java Basics - Anfänger-Themen 7
M Kleines Programm Java Basics - Anfänger-Themen 5
M DBCP - Kleines Beispiel Java Basics - Anfänger-Themen 3
R Unicode-Wert in Binär und Dezimal umformen - kleines Problem Java Basics - Anfänger-Themen 1
G Kleines Problem Java Basics - Anfänger-Themen 3
D kleines script abhaengig von Ordner Bilder kopieren Java Basics - Anfänger-Themen 11
G Kleines Grundsatzproblem Java Basics - Anfänger-Themen 5
S Ich habe ein kleines Problem mit meinem Übungsprogramm Java Basics - Anfänger-Themen 7
S Hab ein kleines Problem :) Java Basics - Anfänger-Themen 4
K kleines bild ausgeben Java Basics - Anfänger-Themen 4
D noch ein kleines Problem Java Basics - Anfänger-Themen 4
M kleines generics problem Java Basics - Anfänger-Themen 15
B Kleines? Jedenfalls Problem mit Borland-Together! Java Basics - Anfänger-Themen 4
M kleines Java Programm (Verwaltung) Java Basics - Anfänger-Themen 16
K Kleines Programm zur Stapelverarbeitung schreiben, aber wie? Java Basics - Anfänger-Themen 7
D Kleines Problem mit JDBC Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben