0
我想創建一個方法來更新JComboBox,以便當用戶在文本字段中輸入內容時,某些代碼將相應地處理該條目並更新JComboBox。我遇到的問題是我可以更新JComboBox,但第一次打開時,該框沒有刷新其中的選項長度,如下面的代碼所示,它顯示額外的空白區域。我不知道是否有更好的方法來做到這一點,但這是我想出的。更新JComboBox後,如何刷新框的長度
感謝您的幫助,
丹
import java.awt.event.*;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Catch{
public static JComboBox dropDown;
public static String dropDownOptions[] = {
"Choose",
"1",
"2",
"3"};
public static void main(String[] args) {
dropDown = new JComboBox(dropDownOptions);
final JTextField Update = new JTextField("Update", 10);
final JFrame frame = new JFrame("Subnet Calculator");
final JPanel panel = new JPanel();
frame.setSize(315,430);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
Update.addFocusListener(new FocusListener(){
public void focusGained(FocusEvent arg0) {
}
public void focusLost(FocusEvent arg0) {
dropDown.removeAllItems();
dropDown.insertItemAt("0", 0);
dropDown.insertItemAt("1", 1);
dropDown.setSelectedIndex(0);
}
});
panel.add(Update);
panel.add(dropDown);
frame.getContentPane().add(panel);
frame.setVisible(true);
Update.requestFocus();
Update.selectAll();
}
}
我發起你的代碼,但我真的不明白是什麼問題。其實,我不明白該節目應該做什麼。只要我們打開組合框,數值將在內部更改,並且始終顯示「0」,「1」。 – 2012-04-19 18:49:13
抱歉有任何混淆。這只是整個工具的代碼snipet。爲了簡單起見,我正在嘗試創建。如果在jtextfield中鍵入A,則組合框使用數組A.如果在jtexfield中鍵入b,則組合框包含數組B.等等。我只是從我上傳的代碼中刪除了所有的檢查部分,以儘可能簡化代碼,只留下我的錯誤。錯誤是第一次單擊組合框0和1時被包含但有額外的空格。之後,它工作正常,只是第一次迭代不能正常工作。 – dannyn382 2012-04-19 20:59:40