Warning : session_start(): open(/var/lib/php/sessions/sess_53mp5ia8emlkp25ph6ne3tkdk7, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning : session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
static bool AutoComboBox_handleTab = true; // experimental
sclass AutoComboBox extends JComboBox {
String keyWord[] = {"item1", "item2", "item3"};
Vector myVector = new Vector();
*() {
setModel(new DefaultComboBoxModel(myVector));
setSelectedIndex(-1);
setEditable(true);
JTextField text = (JTextField) this.getEditor().getEditorComponent();
text.setFocusable(true);
text.setText("");
text.addKeyListener(new ComboListener(this, myVector));
if (AutoComboBox_handleTab)
text.setFocusTraversalKeysEnabled(false);
setMyVector();
}
/**
* set the item list of the AutoComboBox
* @param keyWord an String array
*/
void setKeyWord(String[] keyWord) {
this.keyWord = keyWord;
setMyVector();
}
void setKeyWord(Collection keyWord) {
setKeyWord(toStringArray(keyWord));
}
private void setMyVector() {
copyArrayToVector(keyWord, myVector);
}
}
sclass ComboListener extends KeyAdapter {
JComboBox cb;
Vector vector;
*(JComboBox *cb, Vector *vector) {}
public void /*keyReleased*/keyPressed(KeyEvent key) {
if (key.getKeyCode() == KeyEvent.VK_ENTER) ret;
if (key.getKeyCode() == KeyEvent.VK_ESCAPE) { cb.hidePopup(); ret; }
if (key.getKeyCode() == KeyEvent.VK_TAB /*&& key.getModifiers() == 0*/) {
print("Have tab event (modifiers=" + key.getModifiers() + ")");
if (cb.isPopupVisible()) {
cb.setSelectedIndex(0); // accept item
cb.hidePopup();
} else // standard tab behavior
swing_standardTabBehavior(key);
ret;
}
JTextField tf = cast cb.getEditor().getEditorComponent();
if (tf.getCaretPosition() != l(tf.getText())) ret;
String text = ((JTextField) key.getSource()).getText();
Vector list = getFilteredList(text);
if (nempty(list)) {
cb.setModel(new DefaultComboBoxModel(list));
cb.setSelectedIndex(-1);
tf.setText(text); // necessary?
cb.showPopup();
} else
cb.hidePopup();
}
public Vector getFilteredList(String text) {
ret new Vector(scoredSearch(text, vector));
}
}