Hallo Leute,
Ich habe ein Problem. Und zwar schmeißt mir mein Programm zum Start ganz kurz eine "IllegalComponentStateException" die ist leider aber nur so kurz da, dass ich sie weder richtig lesen , noch sie screenen kann. nach weniger als einer halben Sekunde verschwindet diese und das Programm startet bisher ganz normal, aber bevor das Programm nachher größer wird und ich dann alles umsonst programmiert habe, weil ich den Fehler nicht behoben bekomme, stelle ich lieber Jetzt diese Frage.
Wie eben schon erwähnt schmeißt mir Eclipse diese "IllegalComponentStateException" das einzige Was ich danach noch lesen kann ist "The Frame is Displayable" und dann verschwindet Sie und das Programm startet. Hat irgendjemand eine Ahnung woran das liegt? eigentlich sollte die Exception gar nicht fliegen, da ich "setUndercorated(true)" verwende bevor das Fenster überhaupt sichtbar gemacht wird.
hier mein Code:
Ich würde mich über Eure Hilfe wahnsinnig freuen.
Ich habe ein Problem. Und zwar schmeißt mir mein Programm zum Start ganz kurz eine "IllegalComponentStateException" die ist leider aber nur so kurz da, dass ich sie weder richtig lesen , noch sie screenen kann. nach weniger als einer halben Sekunde verschwindet diese und das Programm startet bisher ganz normal, aber bevor das Programm nachher größer wird und ich dann alles umsonst programmiert habe, weil ich den Fehler nicht behoben bekomme, stelle ich lieber Jetzt diese Frage.
Wie eben schon erwähnt schmeißt mir Eclipse diese "IllegalComponentStateException" das einzige Was ich danach noch lesen kann ist "The Frame is Displayable" und dann verschwindet Sie und das Programm startet. Hat irgendjemand eine Ahnung woran das liegt? eigentlich sollte die Exception gar nicht fliegen, da ich "setUndercorated(true)" verwende bevor das Fenster überhaupt sichtbar gemacht wird.
hier mein Code:
Java:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
public class GUI extends JFrame {
private boolean isAltPressed = false;
private boolean isEnterPressed = false;
private boolean isDecorated = true;
private JFrame frame = new JFrame();
public GUI(String titel) {
super(titel);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
frame.setUndecorated(true);
frame.setTitle(titel);
frame.setLayout(new GridLayout(0,1));
// JFrame-Einstellungen
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setSize(screenSize);
frame.setResizable(false);
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.addKeyListener(new MyListener());
// JFrame sichtbar machen
frame.setVisible(true);
}
private class MyListener implements KeyListener {
@Override
public void keyTyped(KeyEvent e) {
// Keine spezielle Aktion für keyTyped
}
@Override
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
if (keyCode == KeyEvent.VK_ALT) {
isAltPressed = true;
}
if (keyCode == KeyEvent.VK_ENTER) {
isEnterPressed = true;
}
// Überprüfen, ob sowohl Alt als auch Enter gedrückt sind
if (isAltPressed && isEnterPressed) {
if (isDecorated) {
frame.dispose(); // Altes Fenster schließen
frame.setUndecorated(false);
frame.setVisible(true); // Neues, dekoriertes Fenster erstellen
isDecorated = false; // Zustand aktualisieren
isAltPressed = false;
isEnterPressed = false;
}else {
frame.dispose();
frame.setUndecorated(true);
frame.setVisible(true);
isDecorated = true;
isAltPressed = false;
isEnterPressed = false;
}
}
}
@Override
public void keyReleased(KeyEvent e) {
int keyCode = e.getKeyCode();
if (keyCode == KeyEvent.VK_ALT) {
isAltPressed = false;
}
if (keyCode == KeyEvent.VK_ENTER) {
isEnterPressed = false;
}
}
}
}
Ich würde mich über Eure Hilfe wahnsinnig freuen.
Zuletzt bearbeitet: