JFrame wird nicht angezeigt.

  • Themenstarter Themenstarter Rubylux
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
R

Rubylux

Gast
Mein Java Kenntnisse sind sehr bescheiden und daher bringen mich solche Fehler schon zum verzweifeln .. 😛
Mein Problem ist, dass ein JFrame von der Klasse Oberflaeche erzeugt werden soll, das eine JMenuBar enthält. Dieses JFrame wird bei mir aber komplett nicht angezeigt.

Code:
import java.awt.*;
import java.awt.event.*;

public class Steuerung
{
	Oberflaeche o;
	public Steuerung()
	{
		o = new Oberflaeche(this);
	}
	public static void main(String args[])
	{
		System.out.println("Starting App");
		Steuerung m = new Steuerung();
	}
}

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Oberflaeche extends JFrame implements WindowListener, ActionListener, ItemListener
{
	
	JMenuItem miStart = new JMenuItem("Start");
	JMenuItem miNeustart = new JMenuItem("Restart");
	JMenuItem miEnde = new JMenuItem("Quit");

	Steuerung stg;
	
	public Oberflaeche()	{ }
	public Oberflaeche(Steuerung s)
	{
		stg = s;
		JMenuBar menubar = new JMenuBar();
		menubar.add( erstelleGameMenu() );
		setJMenuBar(menubar);
		this.setSize(600,400);
		setTitle("Kästchen ziehen - Welcome");
		setLocationRelativeTo(null);
		setBackground(Color.gray);
	}
	public static void main(String[] args)
	{
		Oberflaeche wnd = new Oberflaeche();
		wnd.setLocation(100,100);
		wnd.setSize(300,200);
		wnd.setVisible(true);
	}
	private JMenu erstelleGameMenu()
	{
		JMenu g = new JMenu("Game");
      		g.add(miStart);
      		g.add(miNeustart);
      		g.addSeparator();
      		g.add(miEnde);
		return g;
	}
	public void actionPerformed(ActionEvent e){
	}
	public void itemStateChanged(ItemEvent e){
	}
	public void windowActivated(WindowEvent e){}
	public void windowClosed(WindowEvent e){}
	public void windowClosing(WindowEvent e)
	{
		System.exit(0);
	}
	public void windowDeactivated(WindowEvent e){}
	public void windowDeiconified(WindowEvent e){}
	public void windowIconified(WindowEvent e){}
	public void windowOpened(WindowEvent e){}

}

Ich hab keinen Plan, woran das liegt. Ich hoffe, ihr könnt mir helfen .. 😉
 
wenn du von Steuerung kommst, dann führt niemand die Befehle

wnd.setLocation(100,100);
wnd.setSize(300,200);
wnd.setVisible(true);
aus wie du sie in der main von Oberfläche hast
 
z.B. so

Code:
import java.awt.*;
import java.awt.event.*;

public class Steuerung
{
	Oberflaeche o;
	public Steuerung()
	{
		o = new Oberflaeche(this);
		Oberflaeche.show(o);
	}
	public static void main(String args[])
	{
		System.out.println("Starting App");
		Steuerung m = new Steuerung();
	}
}

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Oberflaeche extends JFrame implements WindowListener, ActionListener, ItemListener
{
	
[..]
	public static void show(Oberflaeche wnd)
	{
		wnd.setLocation(100,100);
		wnd.setSize(300,200);
		wnd.setVisible(true);
	}
	public static void main(String[] args)
	{
		Oberflaeche wnd = new Oberflaeche();
		Oberflaeche.show(wnd);
	}
[..]
}
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben