Nabend
Für meine Hausaufgabe in Java soll ich folgendes machen:
a) Eine Klasse "Fenster" erstellen, welche von JFrame erbt und ein ein Fenster mit einem JTextField und einem JPanel erstellen - erledigt!
b) Wir sollen in der Klasse "Fenster" das Interface "KeyListener" implementieren und die dazugehörigen Methoden halt auch...^^ - erledigt
auch noch b) Wir sollen der Klasse "Fenster" eine Liste hinzufügen, welche nur JButtons aufnehmen kann - erledigt!
und: jetzt wirds haarig!
c)
"Fügen Sie der Klasse Fenster eine Methode private void init(int
anzKnoepfe) hinzu. Diese generiert in einer Schleife so viele Knöpfe wie als
Parameter übergeben wurden. Anschließend läuft eine zweite Schleife, welche alle
Knöpfe aus der Liste ausliest und diese auf dem Panel panel hinzufügt (bereits
existierende Knöpfe aus vorherigen Durchläufen dürfen enthalten bleiben)."
Ich habe ehrlich gesagt nicht so richtig die Idee, wie ich jetzt eine Schleife schreibe, die die gewünschten Anforderungen erfüllen kann.
Hier wäre ich für jeden Tipp und Hinweis offen und dankbar
Falls jemand Programmcode braucht, um sich in das Programm hineinzuversetzen:
Gruß Zel
Für meine Hausaufgabe in Java soll ich folgendes machen:
a) Eine Klasse "Fenster" erstellen, welche von JFrame erbt und ein ein Fenster mit einem JTextField und einem JPanel erstellen - erledigt!
b) Wir sollen in der Klasse "Fenster" das Interface "KeyListener" implementieren und die dazugehörigen Methoden halt auch...^^ - erledigt
auch noch b) Wir sollen der Klasse "Fenster" eine Liste hinzufügen, welche nur JButtons aufnehmen kann - erledigt!
Java:
private ArrayList<JButton> knoepfe = new ArrayList<>();
und: jetzt wirds haarig!
c)
"Fügen Sie der Klasse Fenster eine Methode private void init(int
anzKnoepfe) hinzu. Diese generiert in einer Schleife so viele Knöpfe wie als
Parameter übergeben wurden. Anschließend läuft eine zweite Schleife, welche alle
Knöpfe aus der Liste ausliest und diese auf dem Panel panel hinzufügt (bereits
existierende Knöpfe aus vorherigen Durchläufen dürfen enthalten bleiben)."
Ich habe ehrlich gesagt nicht so richtig die Idee, wie ich jetzt eine Schleife schreibe, die die gewünschten Anforderungen erfüllen kann.
Hier wäre ich für jeden Tipp und Hinweis offen und dankbar
Falls jemand Programmcode braucht, um sich in das Programm hineinzuversetzen:
Java:
import java.awt.BorderLayout;
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;
public class Fenster extends JFrame implements KeyListener {
private static final long serialVersionUID = 1L;
private ArrayList<JButton> knoepfe = new ArrayList<>();
private JPanel panel;
private JTextField text;
public Fenster() {
// Frame wird erzeugt
JFrame fenster = new JFrame("Aufgabenblatt 11");
// Werte werden eingeben (Vorgabe: 720 x 640 Pixel)
fenster.setSize(720, 640);
// Position des Fensters auf dem Bildschirm wird eingerichtet
fenster.setLocation(300, 250);
// Bei klicken auf das "X" wird das Programm beendet
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Layout für JFrame wird festgelegt
fenster.setLayout(new BorderLayout(5, 5));
// Panel erzeugen
panel = new JPanel(new BorderLayout(5, 5));
// Textfeld erzeugen
text = new JTextField();
// Textfeld im Süden des Layouts platzieren
panel.add(BorderLayout.SOUTH, text);
// Panel auf Frame packen
fenster.add(BorderLayout.CENTER, panel);
// Durch setVisible(true) wird das Fenster sichtbar gemacht
fenster.setVisible(true);
}
private void init(int anzKnoepfe) {
}
public static void main(String[] args) {
new Fenster();
}
public void keyTyped(KeyEvent e) {
}
public void keyPressed(KeyEvent evt) {
int key = evt.getKeyCode();
if (KeyEvent.VK_ENTER == key) {
int zahl = Integer.parseInt(text.getText());
init(zahl);
}
}
public void keyReleased(KeyEvent e) {
}
}
Gruß Zel