Tach
hab eine Frage zum folgenden Code.
Es soll ein Fenster erstellt werden mit einer Eingabemöglichkeit unten. Hier muss eine Zahl eingegeben werden. Wir sollen durch den KeyListener(der vorher gegeben war) die Zahl (n) einlesen und dann n-viele JButtons im Fenster anzeigen lassen.
Dabei (init Methode) sollen wir zuerst die JBottons generieren, in eine Liste packen. Dann die Liste durch eine zweite Schleife auslesen und schließlich zum Fenster hinzufügen. Die init Methode funktioniert(getestet in Main mit einer festen Zahl). Ich hab das Gefühl es fehlt irgendwas damit die Eingabe der Zahl im Textfeld funktinoiert. Wenn ich da eine Zahl eintippe und Enter drücke passiert nichts... muss ich das iwie in der Main Methode aufrufen oder wie funktioniert das?^^
MfG Spirit
hab eine Frage zum folgenden Code.
Es soll ein Fenster erstellt werden mit einer Eingabemöglichkeit unten. Hier muss eine Zahl eingegeben werden. Wir sollen durch den KeyListener(der vorher gegeben war) die Zahl (n) einlesen und dann n-viele JButtons im Fenster anzeigen lassen.
Dabei (init Methode) sollen wir zuerst die JBottons generieren, in eine Liste packen. Dann die Liste durch eine zweite Schleife auslesen und schließlich zum Fenster hinzufügen. Die init Methode funktioniert(getestet in Main mit einer festen Zahl). Ich hab das Gefühl es fehlt irgendwas damit die Eingabe der Zahl im Textfeld funktinoiert. Wenn ich da eine Zahl eintippe und Enter drücke passiert nichts... muss ich das iwie in der Main Methode aufrufen oder wie funktioniert das?^^
MfG Spirit
Java:
package main;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
import java.awt.event.KeyListener;
/**Das ist unser Fenster.
*
*/
public class Fenster extends JFrame implements KeyListener {
/**bla.
* @paran txt bas
*/
private static JTextField txt = new JTextField(10 );
/** blabla.
*@param knoepfe bla
*@param txt bal
*/
private static JPanel pn1 = new JPanel();
private static ArrayList<JButton> knoepfe = new ArrayList<JButton>();
private static JFrame frame = new JFrame("Aufgabenblatt 11");
private static Container pnl = frame.getContentPane();
/**asdas.
*
*
*/
/** Das ist die Main-Methode.
* @param args mimimi
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setSize(720, 640);
pnl.setLayout(new BorderLayout());
pnl.add(txt, BorderLayout.SOUTH);
pnl.add(pn1, BorderLayout.CENTER);
frame.setVisible(true);
}
/**asd.
*
* @param evt asd
*/
public void keyPressed(KeyEvent evt) {
int key = evt.getKeyCode();
if (KeyEvent.VK_ENTER == key) {
int zahl = Integer.parseInt(txt.getText());
init(zahl);
}
}
/**bla.
*
* @param anzKnoepfe ad
*/
private static void init(int anzKnoepfe) {
int i = 1;
while (i <= anzKnoepfe) {
JButton b1 = new JButton("Knopf " + i);
knoepfe.add(b1);
i++;
}
i = 0;
while (i <= anzKnoepfe - 1) {
pn1.add(knoepfe.get(i));
i++;
}
pn1.updateUI();
}
public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
txt.setForeground(Color.red);
} else {
txt.setForeground(Color.blue);
}
}
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
}