我有一些代码生成以下内容:
我希望3、4和5个JTextFields在JLabels旁边,就像1和2一样。我的代码是尝试这样做,但上面的图像是结果。
有人能指出我代码中的问题吗?
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
public class example{
public static void main(String[] args){
JDialog jd = new JDialog();
jd.setTitle("Example");
GridBagLayout gl = new GridBagLayout();
final JTextField j1 = new JTextField("1");
final JTextField j2 = new JTextField("2");
final JTextField j3 = new JTextField("3");
final JTextField j4 = new JTextField("4");
final JTextField j5 = new JTextField("5");
jd.setLayout(gl);
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.BOTH;
c.weightx = 1.0;
c.weighty = 1.0;
c.gridx = 0;
c.gridy = 0;
jd.add(new JLabel("TextField 1: "), c);
c.gridx = 1;
jd.add(j1,c);
c.gridx = 0;
c.gridy++;
jd.add(new JLabel("TextField 2: "), c);
c.gridx = 1;
c.gridy=1;
jd.add(j2,c);
c.gridx = 0;
c.gridy++;
jd.add(new JLabel("TextField 3: "), c);
c.gridx = 1;
jd.add(j3);
c.gridx = 0;
c.gridy++;
jd.add(new JLabel("TextField 4: "), c);
c.gridx = 1;
jd.add(j4);
c.gridx = 0;
c.gridy++;
jd.add(new JLabel("TextField 5: "), c);
c.gridx = 1;
jd.add(j5);
jd.pack();
jd.setVisible(true);
}
}
jd.add(j3); // **** here
c.gridx = 0;
c.gridy++;
jd.add(new JLabel("TextField 4: "), c);
c.gridx = 1;
jd.add(j4); // **** here
c.gridx = 0;
c.gridy++;
jd.add(new JLabel("TextField 5: "), c);
c.gridx = 1;
jd.add(j5); // **** here
您没有在几个add(...)
方法调用中使用GridBagConstraints。如果您不告诉GridBagLayout如何放置组件,那么它将无法工作,解决方案正如您所期望的那样,在使用GBL的容器中添加组件时使用constraints对象。
想要这样格式化它。灰色部分显示jpanel部分。最初,我想要正确地布局前2个jpanel。这是行不通的。怎么修?
我正在尝试使用,但没有得到我所期望的结果,并且在此代码中找不到错误: 这张图说明了我需要: 黄色是按钮名称,红色是行和列。 谁能解释一下我的代码出了什么问题吗?
我的GridbagLayout有些问题。我创建了一个JPanel(在本例中称为mainPanel),它的布局被设置为GridBagLayout。我已经为每个JButton指定了约束,并将约束添加到每个Button。现在,当我运行代码时,按钮总是紧挨着的,而不考虑我在约束中指示的Gridx/Gridy值。此外,按钮总是位于JFrame的中心,我希望一个按钮出现在右上角、左上角和南边。 这是我运行代码
我使用了绝对定位(setBounds和null布局),现在开始练习布局管理器,这段代码是用gridbag布局的,但是很少组件没有显示,或者是单元格有一些问题,或者是其他的东西,请帮助!
我正在尝试创建以下GUI: 但我制作的GUI是: 我的网格是什么样子的: Image:此文件的GRIDLAYOUT addComp adds方法在给定的(x,y)位置和给定的组件宽度和高度处将输入组件添加到输入面板。 代码:
嗨,我是java初学者,正在使用GridBagLayout制作小型GUI。请参阅附带的代码和输出。我想要的是按照gridx和gridy中分配的位置将JButtons放置在左上角。但它把组件放在中心,而不是像预期的左上角,如果我使用插图,gridx/Gridy所有的工作,但不是从适当的坐标,所以请看附上的代码和图像,并指导我关于它 输出:想要左上角的按钮,请指点