我試圖將自動完成添加到我當前的代碼中,因此經過無數次 我決定嘗試SwingX
。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
這是我的程序的普遍看法:。正如方法
afterXMLfileWasUploaded
的名稱所述,在我點擊open XML file
按鈕後,文件被上傳並解析到程序中(沒有問題)。
但是當我嘗試寫一些東西在框中Current path
,則:
我只能寫上面
從
tab
陣列的話,我不能寫任何其他文字或字符即開始與未在「ABC」 中列出的人物, 「高清」, 「ghjk」, 「lmnop」, 「QRST」, 「rstuv」, 「WXYZ」
我實際上無法擦除使用上面的
tab
數組編寫的任何單詞。
怎麼了?任何幫助將是非常讚賞
問候
我試過你的榜樣,代碼不允許進入那種事用'listSomeAnotherString.add(把話說.. )' – ron
再次嘗試切換到'someTextField.setStrict(false)'?或'someComboBox.setStrict(false)'???,我不敢相信:-) – mKorbel
好吧,那工作:)非常感謝,第一。但是,問題是,我可以使用這個類來操縱上面提到的字段,在我的程序中,使用對象'JTextField jtfBoxOfCurrentPath'? – ron