Swing java 每当我在 JTextField 中写入时,JComboBox 就会消失
Swing java JComboBox disappears whenever I write in JTextField
我有一个主 JFrame
窗格,使用 Java 中的 Swing,其中嵌入了 JComboBox
,其中包含许多选项。
打开时一切正常,但是当我在 JTextField
中写入时,JComboBox 中的文字消失了。
我正在通过以下方式启动我的 JComboBox
:
private static String[] options = new String[] {"Search your own pasted text" , "Search your own file",
"Search website", "Search Lyric Database", "Search Books Database"};
private static JComboBox<String> bookList = new JComboBox<>(options);
然后我以这种方式启动 JTextField
private static JTextField textFieldTheme = new JTextField(50);
private static String theme = textFieldTheme.getText();
不知道为什么它们会相互干扰....一切仍然正常。事实上,我可以单击 JComboBox
菜单,只是它会调整大小并且文字会从中消失
根据您编写的上述代码,一切看起来都很好。
也许最好还添加您的主框架代码以查看您如何添加组件。
无论如何你都可以按照说明进行操作How to Use Text Fields
我发现 JTextField 干扰了 JTextArea 并且以某种方式造成了干扰,所以如果我在 JTextField 中写入内容,JComboBox 菜单文本就会消失。
我最终将 JTextField 变成了自定义的 JTextArea——虽然它并不理想,但它确实允许 JComboBox 工作而文本不会消失。
我使用这段代码将 JTextArea 变成了 JTextField:
JTextArea textFieldTheme = new JTextArea(textAreaText, 1, 50);
DefaultCaret caret = (DefaultCaret)textFieldTheme.getCaret();
caret.setUpdatePolicy(DefaultCaret.OUT_BOTTOM);
改编自这篇有用的文章POST:
Java / Swing : JTextArea in a JScrollPane, how to prevent auto-scroll?
我有一个主 JFrame
窗格,使用 Java 中的 Swing,其中嵌入了 JComboBox
,其中包含许多选项。
打开时一切正常,但是当我在 JTextField
中写入时,JComboBox 中的文字消失了。
我正在通过以下方式启动我的 JComboBox
:
private static String[] options = new String[] {"Search your own pasted text" , "Search your own file",
"Search website", "Search Lyric Database", "Search Books Database"};
private static JComboBox<String> bookList = new JComboBox<>(options);
然后我以这种方式启动 JTextField
private static JTextField textFieldTheme = new JTextField(50);
private static String theme = textFieldTheme.getText();
不知道为什么它们会相互干扰....一切仍然正常。事实上,我可以单击 JComboBox
菜单,只是它会调整大小并且文字会从中消失
根据您编写的上述代码,一切看起来都很好。 也许最好还添加您的主框架代码以查看您如何添加组件。
无论如何你都可以按照说明进行操作How to Use Text Fields
我发现 JTextField 干扰了 JTextArea 并且以某种方式造成了干扰,所以如果我在 JTextField 中写入内容,JComboBox 菜单文本就会消失。
我最终将 JTextField 变成了自定义的 JTextArea——虽然它并不理想,但它确实允许 JComboBox 工作而文本不会消失。
我使用这段代码将 JTextArea 变成了 JTextField:
JTextArea textFieldTheme = new JTextArea(textAreaText, 1, 50);
DefaultCaret caret = (DefaultCaret)textFieldTheme.getCaret();
caret.setUpdatePolicy(DefaultCaret.OUT_BOTTOM);
改编自这篇有用的文章POST: Java / Swing : JTextArea in a JScrollPane, how to prevent auto-scroll?