gpt4 book ai didi

java - SwingX 仅识别单词数组中列出的单词,并且不会让其他单词被选择

转载 作者:行者123 更新时间:2023-12-02 07:45:32 26 4
gpt4 key购买 nike

我正在尝试将自动完成功能添加到我当前的代码中,所以经过无数次我决定尝试 SwingX

代码可以编译,可以工作,但是我仍然有一些“小”问题。

这是我的代码:

public class GuiHandler extends javax.swing.JFrame {

private javax.swing.JTextField jtfBoxOfCurrentPath;


// more irrelevant code

private void afterXMLfileWasUploaded() {

String[] tab = {"abc", "def", "ghjk", "lmnop", "qrst", "rstuv", "wxyz"};

JList list = new JList(tab); //data has type Object[]

// jtfBoxOfCurrentPath.setToolTipText(""); // I removed this line , this is when I don't want to use auto-completion

AutoCompleteDecorator.decorate(list, jtfBoxOfCurrentPath, ObjectToStringConverter.DEFAULT_IMPLEMENTATION);

jtfBoxOfCurrentPath.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
boxOfCurrentPathActionPerformed(evt);
}

});

// and more code

这是我的程序的总体 View :XML search engine 。正如方法名称 afterXMLfileWasUploaded 所提到的,在我点击打开 XML 文件 按钮后,文件被上传并解析到程序中(没问题)。

但是当我尝试在框中写入内容时 当前路径 ,然后:

  • 我只能从上面的 tab 数组中写入单词

  • 我无法编写以

    中未列出的字符开头的任何其他单词或字符

    “abc”、“def”、“ghjk”、“lmnop”、“qrst”、“rstuv”、“wxyz”

  • 我实际上无法删除使用上面的 tab 数组写入的任何单词。

那怎么了?任何帮助将不胜感激

问候

最佳答案

I can only write words from the tab array above

  • 不知道,您必须使用当前版本 SwingX 1.6.3

  • 检查退格键是否已修复(不是 SwingX 专家),

  • 可以帮你查帖子great member of SwingX team @kleopatra ,

  • 或者在他们的论坛上您可以搜索相关信息

I can't write any other word or character that start with a character that is not listed in

org.jdesktop.swingx.autocomplete.Configurator#configureTextComponent() ,注意 API 谈论 Document(Model for JTextComponents)

<小时/>
  • 我最喜欢的解决方法是(没有提到的问题和潜在的错误)AutoComplete JComboBox / JTextField (Java5 及更高版本),

  • 您可以简单地设置自动完成JComboBox/JTextField#setStrict(boolean flag)

  • 退格键、焦点、存储最后一个插入符没有问题

关于java - SwingX 仅识别单词数组中列出的单词,并且不会让其他单词被选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10921584/

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