Reputation: 7228
I'm using GridBagLayout for a panel. i want to add componet as the picture here below.but not able to put the label Medication perscription under the label Intern. Does any one know how?
GridBagLayout gridbaglayout = new GridBagLayout();
TGridBagConstraints constraints = new TGridBagConstraints();
northPanel = new WebPanel(gridbaglayout);
northPanel.setBorder(new EmptyBorder(5,5,5,5));
// *** PackComboBox row
constraints.setGxGyGwGhWxWyFillAnchor(0, 0, 1, 1, 0.0, 0.0, TGridBagConstraints.HORIZONTAL, TGridBagConstraints.NORTHWEST);
gridbaglayout.setConstraints(PackComboBox, constraints);
northPanel.add(FerPackComboBox);
constraints.setGxGyGwGhWxWyFillAnchor(1, 0, 1, 1, 0.0, 0.0, TGridBagConstraints.HORIZONTAL, TGridBagConstraints.NORTHWEST);
gridbaglayout.setConstraints(approveButton, constraints);
northPanel.add(approveButton);
constraints.setGxGyGwGhWxWyFillAnchor(2, 0, 1, 1, 0.0, 0.0, TGridBagConstraints.HORIZONTAL, TGridBagConstraints.NORTHWEST);
WebLabel internLabel = PrescriptionSummaryUtil.createCustomLabel("Intern",new Font("SansSerif",Font.BOLD,20),Color.decode("#ABB202").darker() );
gridbaglayout.setConstraints(internLabel, constraints);
northPanel.add(internLabel);
constraints.setGxGyGwGhWxWyFillAnchor(5, 0, 1, 1, 0.0, 0.0, TGridBagConstraints.HORIZONTAL, TGridBagConstraints.NORTHWEST);
gridbaglayout.setConstraints(patientInfoBox, constraints);
northPanel.add(patientInfoBox);
// *** Medication PerscriptionLabel row
constraints.setGxGyGwGhWxWyFillAnchor(1, 1, 2, 0, 0.0, 0.0, TGridBagConstraints.NORTHEAST, TGridBagConstraints.NORTHEAST);
WebLabel medicationPerscriptionLabel = PrescriptionSummaryUtil.createCustomLabel("Medication perscription",new Font("SansSerif",Font.BOLD,20),Color.decode("#ABB202").darker() );
gridbaglayout.setConstraints(medicationPerscriptionLabel, constraints);
northPanel.add(medicationPerscriptionLabel);
Upvotes: 0
Views: 1066
Reputation: 347284
Producing code to meet your requirements isn't going to be easy, as I'm not farmiluar with the API you're using to generate your constraints...
However, the following code will produce...
public class BadLayout {
public static void main(String[] args) {
new BadLayout();
}
public BadLayout() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException ex) {
} catch (InstantiationException ex) {
} catch (IllegalAccessException ex) {
} catch (UnsupportedLookAndFeelException ex) {
}
JFrame frame = new JFrame("Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(new LayoutPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
protected class LayoutPane extends JPanel {
public LayoutPane() {
setLayout(new GridBagLayout());
JLabel intern = new JLabel("Intern");
JLabel med = new JLabel("Medication perscription");
JPanel box = new JPanel(new GridBagLayout());
box.setBorder(new LineBorder(Color.BLACK));
GridBagConstraints gbc = new GridBagConstraints();
gbc.weightx = 1;
gbc.weighty = 1;
gbc.fill = GridBagConstraints.BOTH;
gbc.insets = new Insets(40, 40, 40, 40);
box.add(new JLabel("I'm a box"), gbc);
gbc = new GridBagConstraints();
gbc.weightx = 1;
gbc.gridx = 0;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.NORTH;
add(intern, gbc);
gbc.gridy++;
gbc.weighty = 1;
add(med, gbc);
gbc.weighty = 0;
gbc.weightx = 0;
gbc.gridx = 1;
gbc.gridy = 0;
add(box, gbc);
}
}
}
Upvotes: 1