小编res*_*n84的帖子

如何获取带有空JLabel的JPanel以占用GridBagLayout中的空间

我正在为学校的项目制作GUI.我正在使用GridBagLayout.

我希望有一个标签指示输入(文件类型@ x = 0,y = 0),然后是另一个标签(实际文件名一旦选择@ x = 1, y = 0),然后是文件选择器的浏览按钮(@ x = 2, y = 0) .标签at (1,0)最初是空白的,但是当标签不包含文本时,我希望文本占据的区域占用一些空间.我还希望标签at (0,0)和按钮之间的空间(2,0)保持不变.

为了实现这一点,我试图将标签放在面板上,然后使用布局.但是我无法缝合以达到预期的效果.有人可以提供一些建议吗?GridBagLayout的下三行将以完全相同的方式布局.

这是GUI的屏幕截图的链接.

图片

    calibrationFileSelectionValueLabel = new JLabel("",Label.LEFT);
    calibrationFileSelectionValueLabel.setName("calibrationFileSelection");
    calibrationFileSelectionValueLabel.setMinimumSize(new Dimension(100,0));



    calibrationFileSelectionValuePanel = new JPanel();
    calibrationFileSelectionValuePanel.setBorder(BorderFactory.createEtchedBorder());
    calibrationFileSelectionValuePanel.add(calibrationFileSelectionValueLabel);

    c.gridx = 0;
    c.gridy = 0;
    c.fill = GridBagConstraints.NONE;

    filesPanel.add(calibrationFileLabel,c);

    c.gridy = 1;
    filesPanel.add(frequencyFileLabel,c);

    c.gridy = 2;
    filesPanel.add(sampleFileLabel,c);

    c.gridy = 3;
    filesPanel.add(outputFileLabel,c);

    c.gridx = 1;
    c.gridy = 0;
    c.fill = GridBagConstraints.BOTH;

   // filesPanel.add(calibrationFileSelection,c);
    filesPanel.add(calibrationFileSelectionValuePanel,c);

    c.gridy = 1; …
Run Code Online (Sandbox Code Playgroud)

java swing gridbaglayout

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

gridbaglayout ×1

java ×1

swing ×1