【发布时间】:2016-03-22 18:34:30
【问题描述】:
我有 GridBagLayout,我在其中添加了一个 JLabel、一个 JTextfield。但它的范围不可预测
来源
public void siswa(){
panel_siswa = new JPanel(); //The Panel
panel_siswa.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.insets = new Insets(0, 0, 0, 0);
gbc.anchor = GridBagConstraints.CENTER;
label = new JLabel("CEK NILAI");
label.setFont(new Font("Arial", Font.BOLD, 18));
label_id = new JLabel("ID :");
label_name = new JLabel("Name :");
label_id2 = new JLabel("");
label_name2 = new JLabel("");
label_semester = new JLabel("Semester :");
label_semester2 = new JLabel("");
label_jurusan = new JLabel("Jurusan :");
label_jurusan2 = new JLabel("");
label_nilai1 = new JLabel(MP1);
label_nilai2 = new JLabel(MP2);
label_nilai3 = new JLabel(MP3);
label_nilai4 = new JLabel(MP4);
label_nilai5 = new JLabel(MP5);
tf_nilai1 = new JTextField();
tf_nilai2 = new JTextField();
tf_nilai3 = new JTextField();
tf_nilai4 = new JTextField();
tf_nilai5 = new JTextField();
send = new JButton("Send to my email");
gbc.weightx = 0.0;
gbc.gridwidth = 4;
gbc.gridx = 1;
gbc.gridy = 0;
panel_siswa.add(label,gbc);
gbc.weightx = 0.5;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 0;
gbc.gridy = 1;
gbc.gridwidth = 1;
panel_siswa.add(label_id,gbc);
gbc.weightx = 0.5;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 1;
gbc.gridy = 1;
panel_siswa.add(label_id2,gbc);
gbc.weightx = 0.5;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 3;
gbc.gridy = 1;
panel_siswa.add(label_jurusan,gbc);
gbc.weightx = 0.5;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 4;
gbc.gridy = 1;
panel_siswa.add(label_jurusan2,gbc);
gbc.weightx = 0.5;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 0;
gbc.gridy = 2;
panel_siswa.add(label_name, gbc);
gbc.weightx = 0.5;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 1;
gbc.gridy = 2;
panel_siswa.add(label_name2, gbc);
gbc.weightx = 0.5;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 3;
gbc.gridy = 2;
panel_siswa.add(label_semester,gbc);
gbc.weightx = 0.5;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 4;
gbc.gridy = 2;
panel_siswa.add(label_semester2,gbc);
gbc.weightx = 0.5;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 1;
gbc.gridy = 4;
panel_siswa.add(label_nilai1, gbc);
gbc.weightx = 0.5;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 3;
gbc.gridy = 4;
panel_siswa.add(tf_nilai1, gbc);
gbc.weightx = 0.5;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 1;
gbc.gridy = 5;
panel_siswa.add(label_nilai2, gbc);
gbc.weightx = 0.5;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 3;
gbc.gridy = 5;
panel_siswa.add(tf_nilai2, gbc);
gbc.weightx = 0.5;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 1;
gbc.gridy = 6;
panel_siswa.add(label_nilai3, gbc);
gbc.weightx = 0.5;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 3;
gbc.gridy = 6;
panel_siswa.add(tf_nilai3, gbc);
gbc.weightx = 0.5;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 1;
gbc.gridy = 7;
panel_siswa.add(label_nilai4, gbc);
gbc.weightx = 0.5;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 3;
gbc.gridy = 7;
panel_siswa.add(tf_nilai4, gbc);
gbc.weightx = 0.5;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 1;
gbc.gridy = 8;
panel_siswa.add(label_nilai5, gbc);
gbc.weightx = 0.5;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 3;
gbc.gridy = 8;
panel_siswa.add(tf_nilai5, gbc);
gbc.gridwidth = GridBagConstraints.REMAINDER;
gbc.anchor = GridBagConstraints.CENTER;
gbc.gridy++;
panel_siswa.add(send);
}
}
输出
问题陈述
我期待它会像下图一样出现,但事实并非如此。我认为我的来源有问题。
问题
我关于 gridbaglayout 的消息来源已经很棒了吗?如何正确设计?
【问题讨论】:
-
也许您可以显示您想要的输出的图像?
-
1) 为了尽快获得更好的帮助,请发帖 minimal reproducible example 或 Short, Self Contained, Correct Example。 2) 以最小尺寸提供 ASCII 艺术或 GUI 的 预期 布局的简单绘图,如果可调整大小,则具有更大的宽度和高度。
-
@user3437460 已上传
-
@AndrewThompson 但我不在那个级别,当我打开链接时我真的不明白
-
“我真的不明白” 好吧,我可以解释任何你不明白的东西,因为我写了这两个文件。你不明白什么?具体一点。
标签: java swing jpanel layout-manager gridbaglayout