jgh
Top Contributor
bitte nicht nach Std einfach in deinen Antworten wühlen, editieren usw...macht es für mich umso schwerer.
Hier mal -hoffentlich- das, was du gerade erreichen willst...
Hier mal -hoffentlich- das, was du gerade erreichen willst...
Java:
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class Hauptfenster extends JFrame {
public static void main(String[] args) { // Programm begin mit dem 1.Fenster
// (Hauptfenster).
new Hauptfenster();
}
JLabel begrüßung;
JButton weiter;
JButton abbrechen;
JTextField nameEingabe;
JFrame Fenster2;
public Hauptfenster() {
setSize(600, 400);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
setTitle("Rechenprogramm");
setLocationRelativeTo(null);
setLayout(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
begrüßung = new JLabel( // Begrüßungslabel, Hier liest der user um was
// es geht.
"<html>Hallo,<p><p>Dies ist ein kleines Programm, welches dir hilft "
+ "rechnen zu lernen, oder wenn du schon rechnen kannst, es zu verbessern.<p>"
+ "wenn du möchtest, schreibe in den Kasten unten am Fensterrand deinen "
+ "Namen und klicke mit der linken Maustaste auf den 'Weiter'-knopf. Du"
+ "kannst aber auch auf den 'Abbrechen'-knopf klicken, wenn du das Programm beenden möchtest.");
Font Schrift = new Font("Serif", Font.BOLD, 20);
begrüßung.setBounds(20, -89, 580, 400);
begrüßung.setFont(Schrift);
add(begrüßung);
nameEingabe = new JTextField(); // Hier soll der User seinennamen
// eingeben der auf allen folgenden
// Frames immer steht (Bsp: Hallo:xxx)
nameEingabe.setBounds(20, 312, 300, 30);
nameEingabe.setFont(Schrift);
add(nameEingabe);
weiter = new JButton("Weiter"); // Der knopf um weiter zu kommen
weiter.setBounds(350, 300, 100, 50);
weiter.addActionListener(new WeiterListener(this));
add(weiter);
abbrechen = new JButton("Abbrechen"); // DerKnopf zum Abbrechen des
// Programms
abbrechen.setBounds(460, 300, 100, 50);
add(abbrechen);
setVisible(true);
}
}
class Fenster2 extends JFrame {
JLabel nameAusgabe;
String name;
public Fenster2(String name) { // Neues Fenster
this.name = name;
setSize(600, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("Rechenprogramm");
setLocationRelativeTo(null);
setLayout(null);
setResizable(false);
nameAusgabe = new JLabel("Hallo " + name); // hier (sollte stehen) steht
// Name der im ersten Fenster
// eingegeben wurde
Font Schrift = new Font("Serif", Font.BOLD, 20);
nameAusgabe.setBounds(20, 90, 300, 400);
nameAusgabe.setFont(Schrift);
add(nameAusgabe);
setVisible(true);
}
}
class WeiterListener implements ActionListener {
Fenster2 fenster2;
Hauptfenster fenster1;
public WeiterListener(Hauptfenster Fenster1) {
this.fenster1 = Fenster1;
}
@Override
public void actionPerformed(ActionEvent e) {
// fenster1.nameEingabe.setText("");
new Fenster2(fenster1.nameEingabe.getText());
fenster1.dispose();
}
}