![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Gast
Beiträge: n/a
|
Ich hab schon wieder ein Problem :confused:. Und zwar läuft mein Pong Spiel soweit sehr gut und jetzt dachte ich mir, ich runde das ganze noch ein wenig mit nem Splash Screen ab, der vor dem eigentlichen Spiel angezeigt werden soll. So weit so gut. Meine main() erzeugt also ein Objekt Splash indem ich den KeyListener implementiert hab. Aber leider hört das Dingen auf keine Tastatureingaben und ich weiss einfach nicht warum. Komischerweise gehts, wenn ich aus dem JWindow ein JFrame mache und die paint() nicht überschreibe, aber seht selbst: Code: import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import javax.imageio.*;
public class Splash extends JWindow implements KeyListener{
Image splash = null;
Image splash2 = null;
private boolean endSplash = false;
Splash(){
setSize(new Dimension(356,354));
try{
splash = ImageIO.read(new File("pic/splash.jpg"));
splash2 = ImageIO.read(new File("pic/splash2.jpg"));
}catch(IOException e){}
this.setLocationRelativeTo(null);
addKeyListener(this);
this.setVisible(true);
}
public void keyPressed(KeyEvent e){
System.out.println(e);
if(e.getKeyCode()==10){
endSplash = true;
setVisible(false);
dispose();
}
}
public void keyReleased(KeyEvent e){}
public void keyTyped(KeyEvent e){}
public boolean endSplash(){
return endSplash;
}
public void paint(Graphics g){
while(!endSplash){
g.drawImage(splash,0,0,this);
try{
Thread.sleep(500);
g.drawImage(splash2,0,0,this);
Thread.sleep(500);
}catch(InterruptedException e){}
}
}
}
|
|
| | Nach oben #3 |
| Gast
Beiträge: n/a
|
So ich habs raus. JWindow bietet kein Handling für KeyListener, andere aber schon. Warum weiß ich nicht. Du musst also JFrame benutzen und dann mit setUndecorated(true); zu einen JWindow machen (also Rahmen usw weg) Code: import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import javax.imageio.*;
public class Test extends JFrame implements KeyListener, Runnable
{
private static final long serialVersionUID = 1L;
Image splash = null;
Image splash2 = null;
//neu
private Thread t;
private boolean endSplash = false;
public Test()
{
setSize(new Dimension(356, 354));
// neu
setUndecorated(true);
try
{
splash = ImageIO.read(new File("pic/splash.jpg"));
splash2 = ImageIO.read(new File("pic/splash2.jpg"));
}
catch (IOException e)
{
}
this.setLocationRelativeTo(null);
addKeyListener(this);
this.setVisible(true);
//neu
t = new Thread(this);
t.start();
}
public void keyPressed(KeyEvent e)
{
System.out.println(e);
if (e.getKeyCode() == 10)
{
endSplash = true;
setVisible(false);
dispose();
}
}
public void keyReleased(KeyEvent e)
{
}
public void keyTyped(KeyEvent e)
{
}
public boolean endSplash()
{
return endSplash;
}
public void paint(Graphics g)
{
g.drawImage(splash, 0, 0, this);
try
{
Thread.sleep(500);
g.drawImage(splash2, 0, 0, this);
Thread.sleep(500);
}
catch (InterruptedException e)
{
}
}
//neu
public void run()
{
while (!endSplash)
{
repaint();
}
}
}
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Probleme mit dem PEAR Paket HTML_Template_PHPLIB | Ben | PEAR, PECL und Frameworks | 19 | 12.02.2007 10:51 |
| Class 'xyz' not found in, Probleme mit dem include_path? | Ben | PHP-Programmierung | 5 | 02.06.2006 16:44 |
| Probleme mit KeyListener | Xean | Allgemeine Java-Programmierung | 4 | 26.03.2006 19:05 |
| Probleme mit dem Öffnen einer Consolen Anwendung | T04rer | Desktop-Applikationen und Grafik | 1 | 12.07.2005 09:22 |
| Probleme bei 2 Animated gifs gleichzeitig auf dem MAC | maxpower24 | Desktop-Applikationen und Grafik | 2 | 14.08.2004 22:24 |