G
Gast
Gast
Bin gerade bissel aufm Schlauch. Wenn ich die Panels nicht über eine extra klasse lade, sonder direkt in der klasse, wo ich auch das fenster habe dann gehts. Wenn ich aber eine klasse mir baue, wo ich diese erstellen will(weil werden verdammt viele) dann gehts nicht. Also das Panel wechselt einfach nicht wenn ich auf denn button klicke...
Code:
package jFRame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Test extends JFrame implements KeyListener{
boolean run;
JLabel l;
JPanel j;
int x=0;
int y=0;
public Test(){
this.setSize(500+4, 500+34);
this.setTitle("Test");
//this.setResizable(false);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.addKeyListener(this);
this.setFocusable(true);
//this.add(m.start());
this.run=false;
}
public void chancepanels(int x){
MakeP m=new MakeP();
if(x==0){
this.getContentPane().removeAll();
this.getContentPane().add(m.start());
this.getContentPane().validate();
}
if(x==1){
this.getContentPane().removeAll();
this.getContentPane().add(m.nummer1());
this.getContentPane().validate();
}
}
public void keyReleased(KeyEvent ke){
}
public void keyTyped(KeyEvent ke){
}
public void keyPressed(KeyEvent ke){
int key = ke.getKeyCode();
if(run){
if(x<450){
System.out.println("taste");
x=x+50;
//Animation ani=new Animation(this);
//ani.start();
ani();
}
}
}
public void ani(){
for(int i=0;i<=50;i=i+10){
l.setLocation(x-50+i,y);
}
}
public static void main(String[] args) {
Test f=new Test();
f.chancepanels(0);
f.setVisible(true);
}
}
class MakeP extends Test{
public JPanel start(){
j= new JPanel();
j.setLayout(null);
j.setSize(500, 500);
JLabel s=new JLabel(new ImageIcon("jFrame/bg.gif"));
s.setSize(500, 500);
s.setLocation(0, 0);
JButton b1=new JButton(new ImageIcon("jFrame/button.gif"));
b1.setSize(100, 25);
b1.setLocation(50, 475);
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
chancepanels(1);
run=true;
}
});
j.add(b1);
j.add(s);
return j;
}
public JPanel nummer1(){
j= new JPanel();
j.setLayout(null);
j.setSize(500, 500);
l=new JLabel(new ImageIcon("jFrame/fg.gif"));
l.setSize(50, 50);
l.setLocation(x, y);
JLabel s=new JLabel(new ImageIcon("jFrame/bg.gif"));
s.setSize(500, 500);
s.setLocation(0, 0);
JButton b1=new JButton(new ImageIcon("jFrame/button.gif"));
b1.setSize(100, 25);
b1.setLocation(150, 475);
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
chancepanels(0);
run=false;
}
});
j.add(b1);
j.add(l);
j.add(s);
return j;
}
}