Hey Leute,
ich hab grad ein Problem mit meinen Textfeldern.
Ich erstelle die Textfelder dynamisch und möchte diese in ein JPanel hinzufügen. Dies klappt auch alles wunderbar. mein Problem ist nun das die Textfelder klein sind und ich keine Größe bestimmen kann. Kann mir da jemand weiterhelfen? Die Anordnung stimmt so weit! Wie kann ich den Textfeldern eine bestimmt Größe zuordnen, sodass es auch funktioniert? Verwendet wird das GridBagLayout!
Hab es schon mit preferredSize und setDimension etc. probiert.. klappt alles nicht..! Woran kann das liegen?
Zur Info: countPlayer is die Anzahl, die übergeben wird an die Klasse, also so viel Textboxen werden erstellt!
ich hab grad ein Problem mit meinen Textfeldern.
Ich erstelle die Textfelder dynamisch und möchte diese in ein JPanel hinzufügen. Dies klappt auch alles wunderbar. mein Problem ist nun das die Textfelder klein sind und ich keine Größe bestimmen kann. Kann mir da jemand weiterhelfen? Die Anordnung stimmt so weit! Wie kann ich den Textfeldern eine bestimmt Größe zuordnen, sodass es auch funktioniert? Verwendet wird das GridBagLayout!
Hab es schon mit preferredSize und setDimension etc. probiert.. klappt alles nicht..! Woran kann das liegen?
Zur Info: countPlayer is die Anzahl, die übergeben wird an die Klasse, also so viel Textboxen werden erstellt!
Code:
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JTextField;
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Player extends JFrame {
private static final long serialVersionUID = 1L;
private final int countPlayer;
/**
* This is the default constructor
*/
public Player(int count) {
super();
this.countPlayer = count;
initialize();
setPlayer();
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setTitle("Player");
this.setVisible(true);
}
public void setPlayer(){
JPanel panel = new JPanel(new GridBagLayout()); // (countPlayer +1, 2)
panel.setLayout(new GridBagLayout());
System.out.println(countPlayer);
final JTextField txtBoxes[] = new JTextField[countPlayer];
final JLabel lblBoxes[] = new JLabel[countPlayer];
for (int i = 0; i < txtBoxes.length; i++){
lblBoxes[i] = new JLabel();
txtBoxes[i] = new JTextField("", 150);
lblBoxes[i].setText("Player " + (i+1) + ":");
GridBagConstraints gbLbl = new GridBagConstraints();
gbLbl.gridx = 0;
gbLbl.gridy = 1 + i;
GridBagConstraints gbTxt = new GridBagConstraints();
gbTxt.gridx = 1;
gbTxt.gridy = 1 + i;
panel.add(lblBoxes[i], gbLbl);
panel.add(txtBoxes[i], gbTxt);
}
add(panel,BorderLayout.CENTER);
pack();
setVisible(true);
JButton btnAccept = new JButton();
btnAccept.setText("Accept");
GridBagConstraints gb = new GridBagConstraints();
gb.gridx = 0;
gb.gridy = 8;
panel.add(btnAccept, gb);
this.setSize(500,500);
}
}
Zuletzt bearbeitet: