Re: JLabel property - setBounds
GG Sriram wrote:
Hi
I am new to Swing and I am trying to break a string of labels that
I have used the setBounds property (I am also failrly new to this) for
setting the labels above the JTextFields... Is it possible to set the
labels above the required positionof the textfield and upon adding
more fields assign a label correctly in the position above a
textfield. Sometimes I see that the labels are misaligned and not in
their proper place when I tr
something like this
Label 1 Label2
Label3 ....adding more textfields and labels
should be set automatically in their
correct position
JTextField1 JTextField2 JTextField
I hope this is clear. I am thinking about how to make this work. Any
sample ideas might help
Sriram
Here's a static example ...
------------------------------------- 8< ------------------------------
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
/**
*
* @author RedGrittyBrick
*
*/
public class GrowGrid {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new GrowGrid().createAndShowGUI();
}
});
}
private List<JTextField> fields = new ArrayList<JTextField>();
private void createAndShowGUI() {
String[] labels = {"Alpha", "Bravo", "Charlie", "Delta"};
JPanel panel = new JPanel(new GridBagLayout());
GridBagConstraints constraints = new GridBagConstraints();
int column = 0;
for (String label: labels) {
constraints.gridx = column++;
constraints.gridy = 0;
panel.add(new JLabel(label), constraints);
JTextField field = new JTextField(10);
constraints.gridy = 1;
panel.add(field, constraints);
fields.add(field); // so we can later retrieve content
}
JFrame frame = new JFrame("GrowGrid");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(panel);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
------------------------------------- 8< ------------------------------
--
RGB