Hallo,
habe folgendes Problem:
Habe eine GUI erstellt bei der man eine Anzahl an Arrays eingeben kann.
Nach der Eingabe der Anzahl, kann man aber im nächsten Textfeld unendlich viele Arrays eingeben.
Ich hab keinen Schimmer weshalb das so ist. anbei der Sourcecode:e
Problem dürfte an der array_erzeugen() Methode liegen.
habe folgendes Problem:
Habe eine GUI erstellt bei der man eine Anzahl an Arrays eingeben kann.
Nach der Eingabe der Anzahl, kann man aber im nächsten Textfeld unendlich viele Arrays eingeben.
Ich hab keinen Schimmer weshalb das so ist. anbei der Sourcecode:e
Problem dürfte an der array_erzeugen() Methode liegen.
Java:
public class Arrayback2 {
int AnzahlZahlen;
int ZahlenZähler = 1;
int ZahlenEingabe;
int anz;
final JTextField fd1 = new JTextField();
final JTextField fd2 = new JTextField();
JFrame f1 = new JFrame ("Zahleneingabe");
JButton b1 = new JButton("Übernehmen");
JLabel noteL = new JLabel();
JButton b2 = new JButton("Übernehmen");
JButton b3 = new JButton("Ende");
JLabel info = new JLabel();
JLabel ein = new JLabel("Eingegebene Zahlen: ");
JLabel l4 = new JLabel("Zahlen rückwärts: ");
JLabel rueck = new JLabel();
JLabel l7= new JLabel();
JButton b4 = new JButton("Neue Eingabe");
public static void main(String[] args) {
Arrayback2 start = new Arrayback2();
start.fenster();
}
public void fenster(){
f1.setSize(500,300);
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f1.setResizable(false);
f1.setLayout(null);
f1.setLocation(600,350);
JLabel l1 = new JLabel("Anzahl Zahlen");
l1.setBounds(24,10,140,10);
f1.add(l1);
fd1.setBounds(24,25,40,25);
f1.add(fd1);
fd2.setBounds(24,75,40,25);
f1.add(fd2);
fd2.setVisible(false);
// l3.setBounds(24,140,180,20);
l4.setBounds(39,140,140,20);
f1.add(l4);
l4.setVisible(false);
rueck.setBounds(145,140,200,20);
f1.add(rueck);
rueck.setVisible(false);
l7.setBounds(145,110,300,20);
f1.add(l7);
l7.setVisible(false);
ein.setBounds(24,110,120,20);
f1.add(ein);
ein.setVisible(false);
noteL.setBounds(26,55,60,20);
noteL.setText(Integer.toString(ZahlenZähler) + " . Zahl");
noteL.setVisible(false);
f1.add(noteL);
fd1.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
ENTERkeypressed (e);
}
});
fd2.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
ENTERkeypressed2 (e);
}
});
b4.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
ENTERkeypressed3(e);
}
});
class ButtonListener1 implements ActionListener {
public void actionPerformed (ActionEvent e){
arrayanzahl();
}
}
b1.setBounds(120,25,110,25);
f1.add(b1);
b1.addActionListener(new ButtonListener1());
class ButtonListener2 implements ActionListener{
public void actionPerformed (ActionEvent e){
array_erzeugen();
}
}
b2.setBounds(120,75,110,25);
f1.add(b2);
b2.setVisible(false);
b2.addActionListener(new ButtonListener2());
class ButtonListener3 implements ActionListener{
public void actionPerformed (ActionEvent e){
System.exit(0);
}
}
b3.setBounds(360,220,100,25);
b3.addActionListener(new ButtonListener3());
f1.add(b3);
class ButtonListener4 implements ActionListener{
public void actionPerformed (ActionEvent e){
// neue_berechnung();
}
}
b4.setBounds(320,35,140,25);
b4.addActionListener(new ButtonListener4());
f1.add(b4);
b4.setVisible(false);
f1.setVisible(true);
} // Ende Methode fenster
private void ENTERkeypressed (KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
arrayanzahl();
}
}
private void ENTERkeypressed2 (KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
array_erzeugen();
}
}
public void ENTERkeypressed3 (KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
// neue_berechnung();
}
}
public void array_erzeugen(){
ein.setVisible(true);
l7.setVisible(true);
int Feld = 0;
int Eingabe;
int [] Zahlenfeld = new int [AnzahlZahlen];
for (Feld = 0 ; Feld < AnzahlZahlen ; Feld++ ) {
Eingabe = Integer.parseInt(fd2.getText());
Zahlenfeld [Feld] = Eingabe;
l7.setText(l7.getText() + Zahlenfeld [Feld] + " ");
fd2.setText("");
}
fd2.setEditable(false);
fd2.setFocusable(false);
}
public void arrayanzahl(){
AnzahlZahlen = Integer.parseInt(fd1.getText());
if ((AnzahlZahlen > 10 ) || (AnzahlZahlen < 1)){
JOptionPane.showMessageDialog(null, "Nur Zahlen von 1 bis 10 eingeben.");
fd1.setFocusable(true);
fd1.selectAll();
}
else {
fd1.setEditable(false);
fd1.setFocusable(false);
b1.setVisible(false);
noteL.setVisible(true);
fd2.setVisible(true);
fd2.setFocusable(true);
fd2.selectAll();
b2.setVisible(true);
}
}
} // ENDE KLASSE