G
Gelöschtes Mitglied 5909
Gast
Ich will mich so langsam auch mal an GUIs wagen und hab versucht ein kleinen "screensaver" zu schreiben.
Aber leider reagiert er nicht auf einen tastendruck, sodass sich das fenster nicht wieder schließt.
Auch mit nem KeyListener hat er es nicht geschlossen.
Hab sogar mal ein original source von javabuch.de laufen lassen,
wo ich einen teil übernommen habe, ging aber genausowenig.
das war das beispiel aus javabuch.de
Aber leider reagiert er nicht auf einen tastendruck, sodass sich das fenster nicht wieder schließt.
Auch mit nem KeyListener hat er es nicht geschlossen.
Hab sogar mal ein original source von javabuch.de laufen lassen,
wo ich einen teil übernommen habe, ging aber genausowenig.
Code:
package gui;
import java.awt.AWTEvent;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Window;
import java.awt.event.KeyEvent;
public class Screensaver extends Window {
public static void main(String args[]) {
Screensaver s = new Screensaver();
}
public Screensaver() {
super(new Frame());
setBackground(Color.BLACK);
setVisible(true);
setLocation(0,0);
setSize(getToolkit().getScreenSize());
enableEvents(AWTEvent.KEY_EVENT_MASK);
}
public void paint(Graphics g) {
g.setColor(Color.WHITE);
g.drawString("Aktuelle Auflösung: " + getSize().width
+ "*" + getSize().height ,
getSize().width / 2 - 100 ,getSize().height / 2);
g.drawString(new java.util.Date().toString(),
getSize().width / 2 - 104 ,getSize().height / 2 + 15);
}
public void processKeyEvent(KeyEvent event) {
dispose();
setVisible(false);
System.exit(0);
super.processKeyEvent(event);
}
}
das war das beispiel aus javabuch.de
Code:
/* Listing2702.java */
import java.awt.*;
import java.awt.event.*;
public class Listing2702
extends Window
{
public static void main(String[] args)
{
final Listing2702 wnd = new Listing2702();
wnd.setLocation(new Point(0,0));
wnd.setSize(wnd.getToolkit().getScreenSize());
wnd.setVisible(true);
wnd.requestFocus();
wnd.addKeyListener(
new KeyAdapter() {
public void keyPressed(KeyEvent event)
{
wnd.setVisible(false);
wnd.dispose();
System.exit(0);
}
}
);
}
public Listing2702()
{
super(new Frame());
setBackground(Color.black);
}
public void paint(Graphics g)
{
g.setColor(Color.red);
g.drawString(
"Bildschirmgröße ist "+
getSize().width+"*"+getSize().height,
10,
20
);
g.drawString("Bitte eine Taste drücken",10,40);
}
}