import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
import javax.swing.*;
public class wahlengrob2 extends Applet {
// Anfang Variablen
Panel cpunten = new Panel(); // Weiter leiste
Panel cpoben = new Panel(); // Navigationsleiste
JLabel myPicToClick; //Weiter Button-bild
Label L[] = new Label[8]; //Navigationsleistenlabel
public int active = 1; //Aktueller Schritt
int count1 = 0; //Ein Zähler für weiter unten...
Label Ladebalken = new Label(); //Vieleicht wäre es ganz schick, zwischen den Schritten eine kurze, animierte Ladezeit vorzutäschen.
Label nextSchritt = new Label(); //Verweist zum nächsten Schritt
// Ende Variablen
public void init() {
resize(800,600);
setLayout(new BorderLayout());
//cpoben.setPreferredSize(new Dimension(cpoben.getWidth(),50)); //Feste Höhe für Navi- und Weiterleiste
//cpunten.setPreferredSize(new Dimension(cpunten.getWidth(),50));
this.setBackground(Color.WHITE); //Alles in weiß, bitte.
cpunten.setBackground(Color.WHITE);
cpoben.setBackground(Color.WHITE);
add(cpoben, BorderLayout.NORTH); //Eins oben, eins unten...
add(cpunten, BorderLayout.SOUTH);
L[1] = new Label("Schritt 1"); //nicht in for Schleife, da später ggf. andere Werte
L[2] = new Label(">>");
L[3] = new Label("Schritt 2");
L[4] = new Label(">>");
L[5] = new Label("Schritt 3");
L[6] = new Label(">>");
L[7] = new Label("Schritt 4");
for (int i = 1; i < 8; i++) { //Navi Leiste erstellen....
L[i].setBounds(16+50*(i), cpoben.getHeight()-cpoben.getHeight()+4, 80, 25); //Labels dynamisch anbringen
L[i].setFont(new Font("MS Sans Serif", Font.BOLD, 11)); //Über Farben, Schrift etc. können wir noch reden,
L[i].setForeground(Color.GRAY); //ich wäre für ein weiß-schwarz-gold Design...
L[i].setBackground(Color.WHITE);
if(i == active){
L[i].setForeground(new Color(223,198,24)); //Ersten Schritt färben...
} else{
L[i].setForeground(Color.GRAY);
}
L[i].setAlignment(Label.CENTER); //Zentrieren... oder besser anders?
cpoben.add(L[i]);
}
cpunten.add(nextSchritt); //Label für verweis zum nächsten Schritt
SchrittRefresh(); //Schritte initialisieren..oO
myPicToClick = new JLabel(); // Weiter Button erstellen und Action Listener
myPicToClick.setIcon(new ImageIcon("button.png"));
myPicToClick.addMouseListener(new MouseListener(){
public void mouseClicked(MouseEvent arg0) {
//System.out.println("KLICK");
active += 1; //nächster Schritt
SchrittRefresh(); //Schritte aktualisieren..
stimmeneingabe test = new stimmeneingabe("test");
add(test, BorderLayout.CENTER);
resize(800,598);
}
public void mouseEntered(MouseEvent arg0) {/*...do nothing...*/}
public void mouseExited(MouseEvent arg0) {/*...do nothing...*/}
public void mousePressed(MouseEvent arg0) {/*...do nothing...*/}
public void mouseReleased(MouseEvent arg0) {/*...do nothing...*/}
});
cpunten.add(myPicToClick); //Weiter Button einfügen
Ladebalken.setSize(1,2); //Ladebalken einfügen - Achtung: ungelöstes Problem mit der Höhe!
Ladebalken.setAlignment(Label.CENTER); //Außerdem sollte der Ladebalken unter den beiden anderen Objekten sein.. :/
Ladebalken.setBackground(new Color(223,198,24));
cpunten.add(Ladebalken);
}
public void SchrittRefresh() {
for (int i = 1; i < 8; i++) { //Navi labels erneuern
if(i == (active+count1)){ //+count, weil immer ein Label mit ">>" übersprungen werden muss
L[i].setForeground(new Color(223,198,24)); //Aktuellen Schritt in der navi färben...
} else{
L[i].setForeground(Color.GRAY); //die anderen nicht...
}
}
nextSchritt.setText("Weiter zu Schritt "+(active+1)); //Nächster-Schritt-Verweis erneuern..
count1 += 1;
}
}