Swing Bildschirm weiß :o

kruemelkeksfan

Aktives Mitglied
Hi Leute,
ich soll für die Schule ne kleine Simulation programmieren und dachte, ich übe da gleich mal ein bisschen Umgang mit Swing. Leider krieg ich beim besten Willen keine Elemente auf den Bildschirm.
Ich hab bis jetzt nur versucht, ein paar Textboxen und Labels darzustellen, aber es will nicht klappen :noe: Das Fenster öffnet sich zwar korrekt, aber es bleibt leer.
Sicherlich ist es nur ne Kleinigkeit, die ich vergessen hab (irgendein "add..." oder so :oops: ), findet vielleicht jemand beim ersten drübergucken schon den Fehler?

Vielen Dank im Voraus :toll:

Code:
package Kellner;

import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class KellnerWindow extends JFrame
	{
	//VARIABLES
        GraphicsEnvironment environment;
        GraphicsDevice device;
        KellnerArea area;

	//CONSTRUCTOR
	public KellnerWindow ()
		{
		super ("Kleptomanischer Kellner");
		setLocationRelativeTo (null);
		setResizable (false);
		setUndecorated (true);
		setFocusableWindowState (true);
		setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
		}	

	//METHODS
        public static void main (String [] args)
        {
        KellnerWindow kellner = new KellnerWindow ();
        kellner.init ();
        }
        
        public void init ()
        {
//am Fullscreen kanns nicht liegen, der ist 1:1 aus nem funktionierendem Programm übernommen ;)
        environment = GraphicsEnvironment.getLocalGraphicsEnvironment ();
		device = environment.getDefaultScreenDevice ();
		if (device.isFullScreenSupported ())
			{
			device.setFullScreenWindow (this);
			}
                
        area = new KellnerArea (this);
        setLayout(new FlowLayout() );
        add (area);
        
//den Visible-false-true-Trick braucht man, damit der Fullscreen auf Mac funktioniert
        setVisible (false);
	setVisible (true);    
        }
        
	}
Code:
package Kellner;

import java.util.*;
import java.net.*;
import java.awt.*;
import java.awt.font.*;
import java.awt.geom.*;
import java.awt.event.*;
import javax.swing.*;

public class KellnerArea extends JPanel implements ActionListener
	{
	//VARIABLES
	KellnerWindow window;
        
        JPanel links50p;
        JPanel links1p;
        JPanel rechts50p;
        JPanel rechts1p;
        
	JTextField links50t;
        JTextField links1t;
        JTextField rechts50t;
        JTextField rechts1t;
	
	//CONSTRUCTOR
	public KellnerArea (KellnerWindow window)
		{
		setSize (window.getWidth (), window.getHeight ());

		this.window = window;		
		}	

	//METHODS
        public void init ()
        {
        links50p = new JPanel ();
        links1p = new JPanel ();
        rechts50p = new JPanel ();
        rechts1p = new JPanel ();
            
        links50t = new JTextField("", 5);
        links1t = new JTextField("", 5);
        rechts50t = new JTextField("", 5);
        rechts1t = new JTextField("", 5);
    
        setLayout(new FlowLayout() );
        
        links50p.add(new JLabel ("50-Cent-Münzen links:"));
        links50p.add(links50t);
        
        links1p.add(new JLabel ("1-Euro-Münzen links:"));
        links1p.add(links1t);
        
        rechts50p.add(new JLabel ("50-Cent-Münzen rechts:"));
        rechts50p.add(rechts50t);
        
        rechts1p.add(new JLabel ("1-Euro-Münzen rechts:"));
        rechts1p.add(rechts1t);

        links50t.addActionListener( this );
        links1t.addActionListener( this );
        rechts50t.addActionListener( this );
        rechts1t.addActionListener( this );
        
        add (links50p);
        add (links1p);
        add (rechts50p);
        add (rechts1p);
        
        this.setBackground(Color.black);         
        }
        
        public void actionPerformed( ActionEvent evt )  
        {
        
        repaint(); 
        }
        
	}
 

jHelper

Mitglied
Hi,

es gibt mehrere Punkte, die du dir genauer anschauen könntest:

1. Möchtest du sicher dein Frame in 'FullScreen'-Modus anzeigen lassen?

if (device.isFullScreenSupported()) {
device.setFullScreenWindow (this);
}

Wenn nicht unbedingt gewollt, kannst die Frame-Größe hiermit anpassen:

setSize (400, 400);

2. In der Klasse KellnerArea ist zwar eine Methode init() definiert wird aber nie aufgerugen:

Am einfachstens ist wenn du den Konstruktor wie folgt erweiterst

//CONSTRUCTOR
public KellnerArea (KellnerWindow window)
{
setSize (window.getWidth (), window.getHeight ());

this.window = window;

init();
}

3. Willst du unbedingt setUndecorated(true); verwenden?

Wenn du die init-Methode im KellnerArea-Konstuktor (siehe 2) hinzufügst, sollte es funktionieren.
 

kruemelkeksfan

Aktives Mitglied
1. ja :popcorn:

2. Jup, danke, daran hats gelegen :toll: wie vermutet ein kleiner Schusselfehler. Wenn ich aber die init () schon im Konstruktor aufrufe, wo liegt dann ihr Sinn? Ich verwende sie ja im Regelfall, wenn ich Methoden des Objekts zum Konstruieren aufrufen muss, weil das bei mir manchmal nicht geklappt hat, wenn das Objekt noch nicht "fertig" war :rtfm:

3. Ich hab den Code aus einem Spiel übernommen, da ist "decorated" problematisch, weil ein 600px hohes Fenster dann auf einmal nicht mehr 600px hoch ist. Hab ich jetzt aber rausgeschmissen, spielt im Fullscreen ja eh keine Rolle :)

Danke für deine schnelle Hilfe :applaus: :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Swing Swing an Bildschirm anpassen AWT, Swing, JavaFX & SWT 3
L JavaFX Pane inklusive Inhalt der Bildschirm Auflösung anpassen AWT, Swing, JavaFX & SWT 13
C JavaFX Positionen auf dem Bildschirm ermitteln AWT, Swing, JavaFX & SWT 1
I JFrame an Bildschirm anpassen AWT, Swing, JavaFX & SWT 1
T LayoutManager Methode, um Bildschirm(fenster) für Aktualisierungen zu blockieren bzw. freizugeben gesucht AWT, Swing, JavaFX & SWT 2
D Neues Dialog Mittig auf dem Bildschirm AWT, Swing, JavaFX & SWT 4
B Manchmal grauer Bildschirm; Manchmal nicht AWT, Swing, JavaFX & SWT 5
I Get DPI von Bildschirm AWT, Swing, JavaFX & SWT 3
B Applet Appletposition auf Bildschirm herausfinden AWT, Swing, JavaFX & SWT 2
T Bildschirm abdunkeln AWT, Swing, JavaFX & SWT 2
Z Swing Buttons wieder entfernen vom Bildschirm AWT, Swing, JavaFX & SWT 5
A setFullscreenWindow()-->Schwarzer Bildschirm AWT, Swing, JavaFX & SWT 10
N RCP/SWT View durch Programm auf 2. Bildschirm verschieben AWT, Swing, JavaFX & SWT 2
F Fenstergroesse abhaengig vom Bildschirm AWT, Swing, JavaFX & SWT 4
K JInternalFrame - schwarzer Bildschirm AWT, Swing, JavaFX & SWT 2
M DragAndDrop-Waypoints bewegen, ABER Bildschirm flackert AWT, Swing, JavaFX & SWT 3
F Bildschirm schwarz abdecken AWT, Swing, JavaFX & SWT 8
S Eingeschränkte Ausgabe auf 2. Bildschirm? (Laptop VGA Output AWT, Swing, JavaFX & SWT 4
I Pop-Up löscht Bildschirm ! AWT, Swing, JavaFX & SWT 3
M Mousekoordinaten und Bildschirm? AWT, Swing, JavaFX & SWT 2
F Grauer Bildschirm AWT, Swing, JavaFX & SWT 7
steven789hjk543 Swing Weiß jemand, warum dieses Programm nicht funktioniert? AWT, Swing, JavaFX & SWT 7
M JFrame wird weiß angezeigt AWT, Swing, JavaFX & SWT 7
W Java Form bleibt Weiß AWT, Swing, JavaFX & SWT 7
GianaSisters 2D-Grafik 2 BufferedImages zusammenfügen wird Schwarz/Weiß AWT, Swing, JavaFX & SWT 10
S BufferedImage als schwarz-weiß-Bild AWT, Swing, JavaFX & SWT 3
D Applet hintergrund wird nicht weiß AWT, Swing, JavaFX & SWT 2
D SWT Neuling weiß nicht weiter AWT, Swing, JavaFX & SWT 2
G Bild a auf Bild b, bestimmte Farbe (zb Weiß) durchsichtig AWT, Swing, JavaFX & SWT 7
Bernasconi JDialog - Inhalt bleibt weiß AWT, Swing, JavaFX & SWT 8
F zeichnung nach bedingung mit weiß übermalen AWT, Swing, JavaFX & SWT 10
L NetBeans will ne Klammer ich weiß aber nicht wohin AWT, Swing, JavaFX & SWT 7
I JScrollPane klappt nicht. Wer weiß Rat? AWT, Swing, JavaFX & SWT 12

Ähnliche Java Themen


Oben