2016-04-12 57 views
0

düzenlenebilir JComboBox imleç (şapka) pozisyonunu alın ve açıkçası bunu ayarlayabilirsiniz: setCaretPosition()</p> <pre><code>int caretPos = textField.getCaretPosition(); </code></pre> <p>ile şapka konumunu bulabileceği bir JTextField ben de Netbeans GUI Builder'daki

ben InputEvent.consume() - InputEvent.consume() - Sayısal olmayan karakterleri filtrelemek için hem JTextField hem de JComboBox (düzenlenebilir) üzerinde keyTyped dinliyorum.

Ancak getCaretPosition() yöntemi JComboBox tarafından sağlanmaz. İşte sorun bu.

cevap

0

Netbeans kullanıyorsanız, GUI Builder Olaylarını kullanmanın sadece birleşik giriş kutusu için çalışmadığını fark etmiş olursunuz; çünkü birleşik kutu bir bileşik bileşenidir.

jCombo.getEditor().getEditorComponent().addKeyListener(new KeyAdapter() { 
    @Override 
    public void keyTyped(KeyEvent evt) { 
     //do stuff! 
    } 
}); 

Sana JTextField için getEditorComponent() döküm cevap olması gerektiğini fikir sahibi şüpheli, ve öyle;: Eğer keyTyped olaylar için dinliyorsan Yani böyle bir şey yapmış olmalı İşte sözdizimi, parantezlere dikkat edin.

caretPos = ((JTextField)jCombo.getEditor().getEditorComponent()).getCaretPosition();