【发布时间】:2017-11-28 14:36:29
【问题描述】:
我想使用GridBagLayout 显示图像、JLabel 和 JTextField。
图片应该是这样的
这是我尝试过的,但是 JTextField 显示在图像下方,而不是除此之外
JPanel panel = new JPanel(new GridBagLayout());
gbc = new GridBagConstraints();
for (int i = 0; i < ELEMENTS; i++) {
Image image = ImageIO.read(file[i]);
Image imageScaled = image.getScaledInstance(80, 95, Image.SCALE_SMOOTH);
ImageIcon imageIcon = new ImageIcon(imageScaled);
foodLabel[i] = new JLabel(imageIcon);
qtyField[i] = new JTextField(3);
}
gbc.gridx = 0;
for (int i = 0; i < ELEMENTS; i++) {
if (i % 3 == 0) {
gbc.gridy += 2;
gbc.gridx = 0;
}
panel.add(foodLabel[i], gbc);
gbc.gridy++;
panel.add(qtyField[i], gbc);
gbc.gridx++;
gbc.gridy--;
tabbedPane.addTab(text, panel);
}
【问题讨论】:
-
你的图片上的JTextField是什么?蓝色的盒子?
-
@FlorianS。是的。
标签: java user-interface layout gridbaglayout