Hallo,
ich wollte ein Programm schreiben, das in einem JFrame links oben ein JTextField erzeugt und beim Klick in dieses ein weiteres unter sich erzeugt. Außerdem, sollte das JTextField das oberste einer Spalte sein, soll noch in einer neuen Spalte ganz oben ein JTextField erzeugt werden. Da ich die auch alle auslesen will, um sie zusammenzurechnen, muss ja jedes JTextfield einen eigenen Bezeichner haben. Wie mache ich das?
Eine JTextArea wollte ich vermeiden.
Mein bisheriger Code:
ich wollte ein Programm schreiben, das in einem JFrame links oben ein JTextField erzeugt und beim Klick in dieses ein weiteres unter sich erzeugt. Außerdem, sollte das JTextField das oberste einer Spalte sein, soll noch in einer neuen Spalte ganz oben ein JTextField erzeugt werden. Da ich die auch alle auslesen will, um sie zusammenzurechnen, muss ja jedes JTextfield einen eigenen Bezeichner haben. Wie mache ich das?
Eine JTextArea wollte ich vermeiden.
Mein bisheriger Code:
Java:
public class ZeilenUndSpalten {
static void addComponent(final JFrame f, final Container cont,
final GridBagLayout gbl,
final Component c,
final int x, final int y,
final int width, final int height,
final double weightx, final double weighty )
{
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.BOTH;
gbc.gridx = x; gbc.gridy = y;
gbc.gridwidth = width; gbc.gridheight = height;
gbc.weightx = weightx; gbc.weighty = weighty;
gbl.setConstraints( c, gbc );
if (gbc.gridy==0) {
c.addFocusListener(new FocusAdapter() {
public void focusGained(FocusEvent e) {
addComponent(f,cont,gbl,new JTextField(),x+2,y,2,2,weightx,weighty);
addComponent(f,cont,gbl,new JTextField(),x,y+2,2,2,weightx,weighty);
}
});
}
else {
c.addFocusListener(new FocusAdapter() {
public void focusGained(FocusEvent e) {
addComponent(f,cont,gbl,new JTextField(),x,y+2,2,2,weightx,weighty);
}
});
}
cont.add( c );
f.pack();
f.setSize(Toolkit.getDefaultToolkit().getScreenSize ());
}
public static void main(String[] args) {
JFrame window2 = new JFrame("2");
window2.setAlwaysOnTop(true);
window2.setDefaultCloseOperation(window2.EXIT_ON_CLOSE);
Container c = window2.getContentPane();
GridBagLayout gbl2 = new GridBagLayout();
c.setLayout(gbl2);
addComponent(window2, c, gbl2,new JTextField(),0,0,2,2,1.0,1.0 );
JButton rechnen = new JButton("Berechne Kürzesten Weg");
window2.pack();
window2.setSize(Toolkit.getDefaultToolkit().getScreenSize ());
window2.setVisible(true);
}
}