Hallo
Ich bin grad die Grundlagen von Java am lernen und hab grad mal eine Frage ...
Ich möchte die Elemente "field2" und die beiden Checkboxen (ihre Funktionen natürlich auch gleich mit) in einer neuen Klasse reinstellen. Diese möchte ich dann in meiner aktuellen Klasse einbinden.
Ich will auf meinem Lernweg verschiedene Sachen testen, will aber nicht jedes mal ein Fenster erstellt haben müssen. Auch für die Übersicht ist es nicht schlecht, wenn ich verschiedene Klassen verwende. So habe ich auch die Möglichkeit die eine oder andere Klasse auszublenden wenn ich die grad nicht brauche. Ich weiss einfach nicht wie ich den Inhalt der Klasse "CheckBox" in meinem aktuellen Fenster rein bekomme?!
Und wo wir schon dabei sind ... in meinem Code gibt es irgend ein Error. Wäre toll, wenn mir jemand sagen könnte, was an meinem Code falsch ist.
Ich bin grad die Grundlagen von Java am lernen und hab grad mal eine Frage ...
Java:
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public class MeinGui extends JFrame {
JTextField field1;
JButton button1;
JButton button2;
JTextField field2 = new JTextField(30);
JCheckBox cb1 = new JCheckBox("Frau");
JCheckBox cb2 = new JCheckBox("Mann");
JLabel label1 = new JLabel();
FlowLayout design = new FlowLayout();
public MeinGui() {
design.setVgap(20);
design.setHgap(20);
design.setAlignment(0);
setLayout(design);
button1 = new JButton("Click me");
button2 = new JButton("Click another thing");
field1 = new JTextField(10);
setTitle("This is my first self made window! YAY!! :D");
label1.setText("Hello World!");
button1.addActionListener(new buttonhandler());
button2.addActionListener(new buttonhandler());
add(label1);
add(field1);
add(button1);
add(button2);
field2.setEditable(false);
cb1.addItemListener(new itemHandler());
cb2.addItemListener(new itemHandler());
add(field2);
add(cb1);
add(cb2);
setSize(800, 600);
setVisible(true);
}
private class buttonhandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button1) {
JOptionPane.showMessageDialog(null, field1.getText());
}
}
}
private class itemHandler implements ItemListener {
public void itemStateChanged(ItemEvent e) {
if (cb1.isSelected() && cb2.isSelected()) {
field2.setText("Sie sind ein Neutrum!");
}
else if (cb1.isSelected()) {
field2.setText("Sie sind eine Frau!");
}
else if (cb2.isSelected()) {
field2.setText("Sie sind ein Mann!!");
}
else {
field2.setText("");
}
}
}
}
Ich möchte die Elemente "field2" und die beiden Checkboxen (ihre Funktionen natürlich auch gleich mit) in einer neuen Klasse reinstellen. Diese möchte ich dann in meiner aktuellen Klasse einbinden.
Ich will auf meinem Lernweg verschiedene Sachen testen, will aber nicht jedes mal ein Fenster erstellt haben müssen. Auch für die Übersicht ist es nicht schlecht, wenn ich verschiedene Klassen verwende. So habe ich auch die Möglichkeit die eine oder andere Klasse auszublenden wenn ich die grad nicht brauche. Ich weiss einfach nicht wie ich den Inhalt der Klasse "CheckBox" in meinem aktuellen Fenster rein bekomme?!
Und wo wir schon dabei sind ... in meinem Code gibt es irgend ein Error. Wäre toll, wenn mir jemand sagen könnte, was an meinem Code falsch ist.