gpt4 book ai didi

java - JTextBox 在单击之前不会显示在 JFrame 中。为什么?

转载 作者:行者123 更新时间:2023-11-30 04:33:12 25 4
gpt4 key购买 nike

我正在制作一个程序,我需要在我的 JFrame 中的 JPanel 中制作一个 JTextField。一切都设置为可见。我可以在同一个 JPanel 中看到 JLabel,但看不到我的 JTextField

当我启动下面的代码时,我的 JTextField 仅在单击时显示。当我将光标移到它上面时,它会变为我知道它在那里。但它就像我的 JFrame 背景颜色。

import java.awt.Dimension;
import javax.swing.JTextField;

public class HomeSourceTextBox extends JTextField {

private static final long serialVersionUID = -3387184252168604673L;
Dimension d = new Dimension(600, 20);

public HomeSourceTextBox() {
setSize(d);
setEnabled(true);
setText("Text");

setVisible(true);
}
}

最佳答案

我不确定您在做什么,但我认为您正在尝试使 JTextField 更长

要为您的 JTextField 指定默认的列数,请使用 JTextField(int columns)构造函数如下:

JTextField jtf=new JTextField(10);

正如其他人所建议的,请发布 SSCCE这样我们就可以看到具体的问题。

作为一般说明,尽管覆盖 get|Minimum|Maximum| 总是更好首选|大小设置|最小值|最大值|首选 |Size,这样 LayoutManager 就无法更改大小(如果您没有使用 Layout,我强烈建议您这样做)。

我更喜欢 getPreferredSize() 并且文档同意 - JTextField docs

getPreferredSize()

Returns the preferred size Dimensions needed for this TextField. If a non-zero number of columns has been set, the width is set to the columns multiplied by the column width.

关于java - JTextBox 在单击之前不会显示在 JFrame 中。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14127736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com