com.blazemeter.jmeter.gui.ArrangedLabelFieldPanel Maven / Gradle / Ivy
package com.blazemeter.jmeter.gui;
import javax.swing.*;
import java.awt.*;
public class ArrangedLabelFieldPanel extends JPanel {
private final GridBagConstraints labelC;
private final GridBagConstraints fieldC;
private final GridBagConstraints oneLineC;
private int rowN = 0;
public ArrangedLabelFieldPanel() {
super(new GridBagLayout());
labelC = new GridBagConstraints();
labelC.anchor = GridBagConstraints.FIRST_LINE_END;
labelC.gridx = 0;
labelC.insets = new Insets(5, 2, 5, 2);
fieldC = new GridBagConstraints();
fieldC.anchor = GridBagConstraints.FIRST_LINE_START;
fieldC.weightx = 1.0;
fieldC.fill = GridBagConstraints.HORIZONTAL;
fieldC.gridx = 1;
fieldC.insets = new Insets(5, 2, 5, 2);
oneLineC = new GridBagConstraints();
oneLineC.gridx = 0;
oneLineC.gridwidth = 2;
oneLineC.fill = GridBagConstraints.HORIZONTAL;
oneLineC.weighty = 1;
oneLineC.insets = new Insets(5, 0, 5, 0);
}
public void add(Component label, Component field) {
assert label != null;
assert field != null;
labelC.gridy = rowN;
fieldC.gridy = rowN;
add(label, labelC);
add(field, fieldC);
rowN++;
}
public Component add(String label, Component field) {
add(new JLabel(label), field);
return this;
}
public Component add(Component comp) {
add(comp, oneLineC);
rowN++;
return this;
}
}