V
Vayu
Gast
ich verzweifel grad.
ich hab n Frame mit nem BorderLayout
der frame hat drei JPanels
west, center und south
so in dem west panel (GridBagLayout) gibts standard JLabels und JTextFields
immer abwechselnd JLabel JTextField
ich möchte jetzt, egal wie resized wird, dass die Labels und Textfields sich nach NORTHWEST orientieren.
doch egal wie oft ich den GridBagConstraints erkläre, dass der anchor NORTHWEST sitzen soll, die werden immer horizontal und vertikal gecentered.
was muss ich tun um das mit standard Java mitteln zu realisieren?
edit: ich hab auch schon mit den weights rumgespielt, aber dann entstehen vertikal ziemlich eklige leeräume, weil er dann versucht auch den vertikalen platz auszufüllen. vielleicht bin ich auch nur zu blöd dazu -.- (höchstwahrscheinlich sogar)
ich hab n Frame mit nem BorderLayout
der frame hat drei JPanels
west, center und south
so in dem west panel (GridBagLayout) gibts standard JLabels und JTextFields
immer abwechselnd JLabel JTextField
ich möchte jetzt, egal wie resized wird, dass die Labels und Textfields sich nach NORTHWEST orientieren.
doch egal wie oft ich den GridBagConstraints erkläre, dass der anchor NORTHWEST sitzen soll, die werden immer horizontal und vertikal gecentered.
was muss ich tun um das mit standard Java mitteln zu realisieren?
Code:
public void initialize() {
setLayout(new GridBagLayout());
add(m_lbWertebereichVon, getLabelConstraint());
add(m_tfWertebereichVon, getEntryConstraint());
add(m_lbWertebereichBis, getLabelConstraint());
add(m_tfWertebereichBis, getEntryConstraint());
add(m_lbBla, getLabelConstraint());
add(m_tfBla, getEntryConstraint());
}
private GridBagConstraints getLabelConstraint() {
if(m_gbcLabel == null) {
m_gbcLabel = new GridBagConstraints();
m_gbcLabel.gridx = 0;
m_gbcLabel.gridy = 0;
m_gbcLabel.insets = new Insets(5, 5, 0, 5);
m_gbcLabel.anchor = GridBagConstraints.NORTHWEST;
}
m_gbcLabel.gridy = m_gbcLabel.gridy + 1;
return m_gbcLabel;
}
private GridBagConstraints getEntryConstraint() {
if(m_gbcEntry == null) {
m_gbcEntry = new GridBagConstraints();
m_gbcEntry.gridx = 1;
m_gbcEntry.gridy = 0;
m_gbcEntry.insets = new Insets(5, 5, 0, 5);
m_gbcEntry.ipadx = 200;
m_gbcEntry.anchor = GridBagConstraints.NORTHWEST;
}
m_gbcEntry.gridy = m_gbcEntry.gridy + 1;
return m_gbcEntry;
}
edit: ich hab auch schon mit den weights rumgespielt, aber dann entstehen vertikal ziemlich eklige leeräume, weil er dann versucht auch den vertikalen platz auszufüllen. vielleicht bin ich auch nur zu blöd dazu -.- (höchstwahrscheinlich sogar)