阻止Java的JTextField扩展到适合面板?

时间:2012-02-20 17:59:15

标签: java swing user-interface layout jtextfield

我正在制作一个RPG练习我的新手编程能力。我想在1x4网格中创建一系列字符创建选项,下面有一个确认按钮。

我的问题在于我希望JTextField停止看起来像它被设计为消耗世界可能拥有的任何和所有文本。见这里:

[好吧,我还不能发布图片。]

但它是一个巨大的文本领域,我相信它是尝试填充整个面板的方式。我只是希望它与旁边的JLabel大致相同。

我已经尝试过setBounds(),setSize(),setPreferredSize()...如何才能使该文本字段的大小适当?

编辑:很抱歉没有发布相关代码:

package practice;

import java.awt.GridLayout;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Main {

    /**
     * @param args
     */
    public static void main(String[] args) {
        JFrame failFrame = new JFrame();
        JPanel failPanel = new JPanel();
        failPanel.setLayout(new GridLayout(0, 4));

        failPanel.add(new JTextField());
        failPanel.add(new JPanel());
        failPanel.add(new JTextField());
        failPanel.add(new JPanel());

        failFrame.add(failPanel);
        failFrame.setSize(800, 800);
        failFrame.setLocationRelativeTo(null);
        failFrame.setVisible(true);
    }

}

这会导致文本字段比我想要的要高得多。是否可以使用gridLayout并降低其高度?

1 个答案:

答案 0 :(得分:0)

也许LayoutManager可以提供帮助。如果textfield和label应该具有相同的大小,你可以考虑gridlayout。

请参阅: http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html