java - 为什么我的 JTextFields 没有调整大小?

标签 java jframe jtextfield

JPanel dPanel = new JPanel();
    for (int row = 0; row < xyPairs.length; row++) {
        for (int col = 0; col < xyPairs[row].length; col++) {
            xyInput[row][col] = new JTextField();
            xyInput[row][col].setSize(100, 100);
            dPanel.add(xyInput[row][col]);
        }
    }
    this.add(dPanel, BorderLayout.EAST);

它们只是显示为超窄文本字段。

最佳答案

JPanel 默认使用 FlowLayout,并且它使用文本字段的首选大小。

尝试为文本字段提供您希望它们有多大的提示...

JTextField field = new JTextField(10);

请记住,您所工作的环境中系统之间的渲染要求可能会发生变化,这意味着字段希望正确显示的空间量

看看Laying Out Components Within a Container了解更多详情

关于java - 为什么我的 JTextFields 没有调整大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27432309/

相关文章:

java - 将 jre 从 7u45 升级到 8u144 时出现 native 内存泄漏

java - webobjects 中的进程间通信(jvm、wotaskd、apache 模块)

java - 设置固定在 JPanel 中的 JTextField 的大小

Java:根据动态生成的文本字段名称更改变量?

java - 在 PaintComponent() 内创建时,JTextField 出现在 2 个位置

java - 为什么我们需要带有两个参数的 Thread.sleep

java - 图像未显示在 JFrame 中

Java Canvas 当我调整 JFrame 大小时, Canvas 停止绘制

java - 将 JFrame 作为参数传递给 BufferStrategy 的 JPanel 子类

java - 在 java 中使用自定义信任库以及默认信任库