weiter JButton Fehler

Amir

Mitglied
Hallo zusammen,
ich bräuchte dringend Hilfe, wegen einem Programm, dass das bayerische Schulsystem vorstellt. Ich möchte gerne, dass wenn man auf das Weiter Button drückt die nächste Seite kommt. Ich habe es mit JFrame versucht. Also, dass wenn man auf weiter drückt ein das alte Frame geschlossen wird und der neue geöffnet wird. Aber mir ist aufgefallen, dass der Frame früher geschlossen wird als der neue sich öffnet also ist immer eine Lücke dazwischen. Ich habe gehört, dass man sowas mit JPanels machen soll aber ich weiß nicht genau wie es gehen soll.

Hier der Code:


Java:
public class Main extends JFrame implements ActionListener {
		 JFrame frame = new JFrame("Bayrische Schulsystem");
		 Buttons b = new Buttons();
		 
		 ImageIcon bayern = new ImageIcon(getClass().getResource("Bayern Flagge.png"));
		 Image img0 = bayern.getImage(); 
		 
		  static Toolkit kit = Toolkit.getDefaultToolkit();
		  static Dimension dim = kit.getScreenSize();
		  
		public static void main(String args[]) throws IOException   {
			Main Main = new Main();
			  Main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			  Main.setLayout(null);
			  Main.setSize((int)dim.getWidth(),(int)dim.getHeight());
			  Main.setVisible(true); 
		} 
		
		    public Main()throws IOException {
		   	  setTitle("Bayerische Bildungssystem");
		   	  Image newimg0 = img0.getScaledInstance((int)dim.getWidth(),(int)dim.getHeight(), java.awt.Image.SCALE_SMOOTH);
			  bayern = new ImageIcon(newimg0);
			 
		    	setContentPane(new JLabel(bayern));
		
			  b.button_start.addActionListener(this);
			  add(b.button_start);
			  
			  b.button_option.addActionListener(this);
			  add(b.button_option);
			  
			  b.button_info.addActionListener(this);
			  add(b.button_info);
			  
			  b.button_close.addActionListener(this);
			  add(b.button_close);
			   }

		    public void actionPerformed(ActionEvent e){
		    	if(e.getSource() == b.button_option){
		    		Option option = new Option();
		    	}
		    	if(e.getSource() == b.button_start ){
		    		Programm p = new Programm();
		    	}
		    	if(e.getSource() == b.button_info){
		    		JOptionPane.showMessageDialog(null,"programmiert von Amir Taghizadegan");
		    	}
		    	if(e.getSource() == b.button_close){
		    		System.exit(0);
		    	}
				 }
			  }

Programm Klasse:

Java:
public Programm(){
		  Image newimg = img.getScaledInstance((int)dim.getWidth(),(int)dim.getHeight(), java.awt.Image.SCALE_SMOOTH);
		  firstImage = new ImageIcon(newimg);  
		   frame.setContentPane(new JLabel(firstImage));
		   addButtons();
	 		frame.setSize((int)dim.getWidth(),(int)dim.getHeight());
	 	  	frame.setUndecorated(true);
	 		frame.setVisible(true);
	  }

	  public void addButtons(){
			  b.button_next1.addActionListener(this);
			  frame.add(b.button_next1);
			  
			  b.button_mainMenu.addActionListener(this);
			  frame.add(b.button_mainMenu);
		  }

	  public void actionPerformed(ActionEvent e){
		  if(e.getSource() == b.button_next1){
  			        SecoundPage s = new SecoundPage();
  			        frame.setVisible(false);
			 }
		  if(e.getSource() == b. button_mainMenu){
				 frame.setVisible(false);
			 }
	  }
	  }
 
Zuletzt bearbeitet von einem Moderator:

Java20134

Bekanntes Mitglied
Ich hatte mal ein ähnliches Problem und habe dabei mein Menü in eine Klasse gepackt. Diese erbt von JFrame.
Und in dem ActionListener habe ich dann ein Objekt einer anderen Klasse erstellt, welche ebenfalls von JFrame erbt. Wenn man nun auf einen JButton geht, so wird das andere Fenster auf setVisible(false); gesetzt und es ist nur das eine Fenster sichtbar.

Dabei könnte man eine Superklasse erstellen wie Frame. Und die anderen möglichen JFrames erben von dem Frame. Dadurch sparst du dir viel Quellcode.
 

Amir

Mitglied
Danke für deine Antwort. Ich habe es versucht aber leider funktioniert es nicht. Kannst du villeicht mein Beispiel schicken?Ich wäre dir sehr dankbar.
 

Java20134

Bekanntes Mitglied
Menu:
Java:
package Menu;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

public class Menu extends JFrame implements ActionListener {

	private static final long serialVersionUID = 1L;
	private JPanel content; 
	private JButton btnStart, btnClose; 
	private Frame frame1; 

	public static void main(String[] args){
		Menu frame = new Menu(); 
		frame.setVisible(true);
	}
	
	public Menu(){
		setTitle("Menü");
		setBounds(100, 100, 200, 200);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		content = new JPanel();
		content.setBorder(new EmptyBorder(5,5,5,5));
		content.setLayout(null);
		setContentPane(content); 
		
		btnStart = new JButton("Start");
		btnStart.addActionListener(this);
		btnStart.setBounds(45, 40, 100, 25);
		content.add(btnStart);
		
		btnClose = new JButton("Close");
		btnClose.addActionListener(this);
		btnClose.setBounds(45, 90, 100, 25);
		content.add(btnClose);
		
		frame1 = new Frame();
	}

	@Override
	public void actionPerformed(ActionEvent arg0) {
		if(arg0.getSource() == btnStart){
			setVisible(false);
			frame1.setVisible(true);
		}
		else if(arg0.getSource() == btnClose){
			if(JOptionPane.showConfirmDialog(content, "Wollen Sie das Programm beenden", "Beenden", JOptionPane.YES_NO_CANCEL_OPTION) == 0){
				System.exit(0);
			}
		}
	}
}

Frame: (weitere Fenster)
Java:
package Menu;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

public class Frame extends JFrame implements ActionListener {

	private static final long serialVersionUID = 1L;
	private JPanel content; 

	public Frame(){
		setTitle("Frame");
		setBounds(100, 100, 200, 200);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		content = new JPanel();
		content.setBorder(new EmptyBorder(5,5,5,5));
		content.setLayout(null);
		setContentPane(content); 
		
		//Hier können dann einige Elemente stehen die hinein sollen! 
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		//Hier wird die Aktion des weiteren JButtons verarbeitet: neues Frame wird erstellt. 
	}
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
N Warum Springt iterator nur in der Schleife weiter Java Basics - Anfänger-Themen 9
T Mit jedem Wert in der for-Schleife weiter arbeiten Java Basics - Anfänger-Themen 3
J Mein Programm läuft bei der ersten Eingabe nicht mehr weiter, woran liegt das? Java Basics - Anfänger-Themen 6
P Installation JRE 8u321 startet, geht aber nicht weiter Java Basics - Anfänger-Themen 1
SpigBin Programm läuft nicht weiter... Java Basics - Anfänger-Themen 10
M Wie kann ich Werte die in einer While Schleife sind weiter genutzt werden? Java Basics - Anfänger-Themen 7
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
B Keine Ausgabe .. Woran liegt das? Ich komme nicht weiter Java Basics - Anfänger-Themen 14
P Ich komme nicht mehr weiter bei so einer einfachen Sache... Java Basics - Anfänger-Themen 18
H Eine befühlte Klasse weiter geben an Controller Java Basics - Anfänger-Themen 12
J Datentypen Komm in einem Android Buch mit Java nicht weiter... Java Basics - Anfänger-Themen 7
N Ich weiß nicht, wie ich meinen Code richtig designen soll und komme nicht weiter Java Basics - Anfänger-Themen 4
D Komme nicht weiter... Java Basics - Anfänger-Themen 4
H OOP eine Zahl immer weiter durch 2 teilen Java Basics - Anfänger-Themen 15
K Armstrong Programm geht nur bis 1000, aber nicht weiter Java Basics - Anfänger-Themen 2
P SystemTray: Programm sol im Hintergrund weiter laufen Java Basics - Anfänger-Themen 30
T Wie weiter machen? Java Basics - Anfänger-Themen 9
J String splitten und weiter einarbeiten in einer Methode? Java Basics - Anfänger-Themen 11
S Programm läuft nicht weiter, wie Code wiederholen? Java Basics - Anfänger-Themen 2
P Weiter erst bei Drücken de Enter-TAste Java Basics - Anfänger-Themen 1
C Threads SwingWorker läuft trotz cancel weiter Java Basics - Anfänger-Themen 22
D Programm läuft plötzlich nicht weiter Java Basics - Anfänger-Themen 12
N JSON - komme nicht weiter Java Basics - Anfänger-Themen 2
S Input/Output Programm läuft nach input-Abfrage nicht weiter. Java Basics - Anfänger-Themen 2
X Nach switch case weiter mit Auswahl Java Basics - Anfänger-Themen 7
F String immer weiter nach Bedarf vergrößern Java Basics - Anfänger-Themen 3
A Fehlermeldung Unklar, google hilft auch nicht weiter Java Basics - Anfänger-Themen 2
P Variablen Abfangen von eingaben per java.util.Scanner und weiter Verarbeitung Java Basics - Anfänger-Themen 7
S Komme nicht weiter...:-/ Java Basics - Anfänger-Themen 3
K Erste Schritte Wie mache ich weiter? (Spiel-Menü) Java Basics - Anfänger-Themen 9
N Explode in Java (split). Komme nicht weiter. Java Basics - Anfänger-Themen 2
S Scanner -> Zahl lesen und weiter verwenden Java Basics - Anfänger-Themen 8
O unexpected type - weiß nicht weiter! Java Basics - Anfänger-Themen 3
K Hilfe, komme nicht weiter in meinem JAVA-Spiel Java Basics - Anfänger-Themen 3
P Methoden Daten aus Methode weiter nutzen Java Basics - Anfänger-Themen 14
C Programm arbeitet nicht weiter Java Basics - Anfänger-Themen 2
R Nach return() der aufgerufenen Methode wird aufrufende Methode nicht weiter ausgeführt Java Basics - Anfänger-Themen 14
B von Ergebniss weiter rechnen Java Basics - Anfänger-Themen 3
Luk10 Button.disable() + Weiter Frage Java Basics - Anfänger-Themen 7
D Iterator schaltet nicht weiter?! Java Basics - Anfänger-Themen 5
E Input/Output Datei immer weiter erweitern Java Basics - Anfänger-Themen 4
J Bald erstes Java Buch durchgearbeitet - Wie gehts nun weiter? Java Basics - Anfänger-Themen 6
M Währungsrechner, aber wie weiter? Java Basics - Anfänger-Themen 8
J Wie weiter Java lernen? Java Basics - Anfänger-Themen 4
K weiter schreiben in einer datei Java Basics - Anfänger-Themen 5
I Weiß einfach nicht mehr weiter... Java Basics - Anfänger-Themen 3
P mit java text-datei auslesen und weiter bearbeiten Java Basics - Anfänger-Themen 3
D brauch hillfe komm nicht mehr weiter... Java Basics - Anfänger-Themen 10
0 Calendar - komme nicht weiter mit add Java Basics - Anfänger-Themen 2
J Anfängeraufgabe - komme nicht weiter Java Basics - Anfänger-Themen 2
neurox Ergebnis der if-Bedingung weiter verwenden Java Basics - Anfänger-Themen 5
J Arrayübergabe, ich komme nicht weiter Java Basics - Anfänger-Themen 2
D DefaultEditorKid komme nicht weiter! Java Basics - Anfänger-Themen 4
M Komme net weiter Java Basics - Anfänger-Themen 7
T Hilfe..ich komme bei Klassen nicht mer weiter Java Basics - Anfänger-Themen 4
P DotComVersenken -Spiel im Schiffeversenken-Stil - erstellen- Komm jetzt nicht weiter. Java Basics - Anfänger-Themen 11
K 50 errormeldungen- komme auch nach vielen Nachmittagen nicht weiter. bitte helfen Java Basics - Anfänger-Themen 39
D Wie weiter machen? Java Basics - Anfänger-Themen 4
C Quellcode richtig bisher? wie gehts weiter? Java Basics - Anfänger-Themen 13
G 3. Aufgaben und komme nicht weiter (Felder, Methoden) Java Basics - Anfänger-Themen 3
G J2EE Tutorial . komme nicht weiter Java Basics - Anfänger-Themen 7
T Spiel --> Soforteingaben per Pfeiltaste möglich? + Weiter Java Basics - Anfänger-Themen 21
C Wenn Wert existiert, dann weiter auf nächste Seite Java Basics - Anfänger-Themen 2
G vector füllt sich immer weiter. wo muss ich ihn leeren? Java Basics - Anfänger-Themen 3
Z Datei einlesen in ein String und weiter verwenden Java Basics - Anfänger-Themen 3
N ich weiß nicht weiter. Java Basics - Anfänger-Themen 13
G Instanziierung [HILFE ich komme nicht weiter] Java Basics - Anfänger-Themen 10
G ich komm nicht weiter -> String in int casten Java Basics - Anfänger-Themen 4
B Primzahlprüfung, komme nicht weiter Java Basics - Anfänger-Themen 11
C Nach Catch-Klausel Programm weiter laufen lassen Java Basics - Anfänger-Themen 5
D Weis nicht weiter mit Keylistener Java Basics - Anfänger-Themen 17
X Weiß nicht weiter! Java Basics - Anfänger-Themen 73
N läuft der thread eigentlich weiter? Java Basics - Anfänger-Themen 13
G Hilfe komme nicht weiter bei diesen aufgaben Java Basics - Anfänger-Themen 2
O H.E.L.P. (wie programmier ich weiter?) Java Basics - Anfänger-Themen 6
F indexOf weiter lesen Java Basics - Anfänger-Themen 14
J Hilfe Java Hausaufgabe kommt nicht weiter Java Basics - Anfänger-Themen 5
E Aus Datei einlesen und weiter mit arbeiten! Java Basics - Anfänger-Themen 15
P NullPointerException Ich weiss nichtmehr weiter Java Basics - Anfänger-Themen 6
J Package kompileren/ausführen - komme nicht weiter Java Basics - Anfänger-Themen 4
R komme nicht weiter Java Basics - Anfänger-Themen 10
S Wert aus JComboBox auslesen und weiter verwenden Java Basics - Anfänger-Themen 2
M while schleife schlafen legen aber im applet weiter arbeite Java Basics - Anfänger-Themen 3
T BufferedReader beenden und später weiter lesen Java Basics - Anfänger-Themen 11
G Owner von JDialog;Komme einfach nicht weiter Java Basics - Anfänger-Themen 4
C Erst weiter machen wenn fertig Java Basics - Anfänger-Themen 3
megachucky nochmal JDBC. komme nicht weiter. Java Basics - Anfänger-Themen 4
A Erstes Buch durchgelesen, wie weiter vorgehen? Java Basics - Anfänger-Themen 8
P ich komm nicht weiter Java Basics - Anfänger-Themen 7
C Wie gehts weiter? Java Basics - Anfänger-Themen 6
Hilde22 Neu Start JButton einfügen Java Basics - Anfänger-Themen 2
W GUI - JButton ohne Funktion? Java Basics - Anfänger-Themen 24
M JButton setBackground() färbt nicht den ganzen Knopf Java Basics - Anfänger-Themen 4
C JButton reagiert nicht auf actionListener Java Basics - Anfänger-Themen 15
G jButton führt Main Methode nicht richtig aus Java Basics - Anfänger-Themen 3
J Jbutton blinkt Java Basics - Anfänger-Themen 5
C JButton Text 2 Mal ändern funktioniert nicht Java Basics - Anfänger-Themen 8
E JButton und JTextField Java Basics - Anfänger-Themen 1
V_Fynn03 Erste Schritte JButton funktioniert nicht trotz richtiger Methode. Java Basics - Anfänger-Themen 17

Ähnliche Java Themen

Neue Themen


Oben