他のそれぞれのフィールドに従って、チェックボックス(赤い強調表示された領域)を整列させたい。
これは、これを生成するために使用している主な方法です
public class DialogTesting extends JFrame{
public static void main(String args[])
{
JFrame frame = new JFrame();
frame.setSize(320,250);
frame.setLocation(400,400);
JTextField txtUserName,txtHostName,txtPortNo,txtSID;
JPasswordField txtPassword;
JPanel mainPanel;
JCheckBox chkBoxSaveConnection;
mainPanel = new JPanel();
mainPanel.setBorder(BorderFactory.createEmptyBorder());
mainPanel.setPreferredSize(new Dimension(300, 210));
mainPanel.setLayout(new FlowLayout());
JLabel l_label = null;
txtUserName = new JTextField("K_USERNAME", 15);
txtUserName.putClientProperty("maxlength", 200);
l_label = new JLabel("User Name");
l_label.setPreferredSize(new Dimension(100, 30));
mainPanel.add(l_label);
mainPanel.add(txtUserName);
txtPassword = new JPasswordField("K_PASSWORD", 15);
txtUserName.putClientProperty("maxlength", 200);
l_label = new JLabel("Password");
l_label.setPreferredSize(new Dimension(100, 30));
mainPanel.add(l_label);
mainPanel.add(txtPassword);
txtHostName = new JTextField("K_HOSTNAME", 15);
txtHostName.putClientProperty("maxlength", 200);
l_label = new JLabel("Host Name");
l_label.setPreferredSize(new Dimension(100, 30));
mainPanel.add(l_label);
mainPanel.add(txtHostName);
txtPortNo = new JTextField("K_PORTNO", 15);
l_label = new JLabel("Port Number");
l_label.setPreferredSize(new Dimension(100, 30));
txtPortNo.putClientProperty("maxlength", 200);
mainPanel.add(l_label);
mainPanel.add(txtPortNo);
txtSID = new JTextField("K_SID", 15);
l_label = new JLabel("SID number");
l_label.setPreferredSize(new Dimension(100, 30));
txtPortNo.putClientProperty("maxlength", 200);
mainPanel.add(l_label);
mainPanel.add(txtSID);
chkBoxSaveConnection = new JCheckBox();
l_label = new JLabel("chkBoxSaveConnection");
l_label.setPreferredSize(new Dimension(150, 30));
mainPanel.add(l_label);
mainPanel.add(chkBoxSaveConnection);
mainPanel.setVisible(true);
frame.add(mainPanel);
frame.setVisible(true);
}
}
ここで、チェックボックス(赤い強調表示された領域)を他のフィールドに従って整列させたい
このソリューションを試して、正しく整列させました
mainPanel.setLayout(new GridLayout());
GridBagConstraints l_bag_constraints = new GridBagConstraints();
l_bag_constraints.fill = GridBagConstraints.HORIZONTAL;
mainPanel.add(jlabel,FieldMapperHelper.getGridBagCompPosition(l_bag_constraints,0,0,10,1,0,10)
);
mainPanel.add(txtUserName
,FieldMapperHelper.getGridBagCompPosition(l_bag_constraints,0,1,10,1,0,10)
);
しかし、この場合、非常に小さなテキスト ボックスが表示されます。
それ以外に欲しいものがあれば教えてください。