Hi, ich habe ein Problem, ich habe eine Klasse geschrieben, die ein JFrame erstellt, inwelchem dinge geschehen, eine Animation.
Wenn ich diese Klasse nun von einer Main aus starten lasse habe ich kein problem, aber wenn ich die Klasse von einer Anderen aufrufe, da sieht man das Fenster gar nciht warum?
Das Fenster
Wenn ich das jetzt, so starte:
Dann passiert folgendes:
In meiner Bar unten, bei Windows, steht, dass ein neues Fenster offen wäre, ich sehe es aber nicht, und das ganze Programm ist blockiert, warum?
Wenn ich diese Klasse nun von einer Main aus starten lasse habe ich kein problem, aber wenn ich die Klasse von einer Anderen aufrufe, da sieht man das Fenster gar nciht warum?
Das Fenster
Java:
package Main;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;
@SuppressWarnings("serial")
public class Credits extends JFrame implements KeyListener
{
int text_y = d.height;
public Credits()
{
//...
JPanel p = new JPanel()
{
@Override
public void paintComponent(Graphics g)
{
qualityHints = new RenderingHints(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
qualityHints.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
((Graphics2D) g).setRenderingHints(qualityHints);
g.setColor(Color.black);
g.fillRect(0,0,getSize().width,getSize().height);
gp = new GradientPaint(0,0,Color.white,0,-40,Color.cyan);
((Graphics2D)g).setPaint(gp);
g.translate(0,text_y);
try{drawMain(g);}catch(Exception e){}
g.translate(0,-text_y);
}
};
add(p,"Center");
setVisible(true);
scroll();
}
public void scroll()
{
while(true)
{
text_y--;
repaint();
warte(10);
}
}
public void drawMain(Graphics g)
{
//...
}
public void warte(long milis)
{
//...
}
}
Wenn ich das jetzt, so starte:
Java:
new Credits();
In meiner Bar unten, bei Windows, steht, dass ein neues Fenster offen wäre, ich sehe es aber nicht, und das ganze Programm ist blockiert, warum?