|
|
|
нужна помощь с ошибкой java.lang.NullPointerException
|
|||
|---|---|---|---|
|
#18+
Exception in thread "main" java.lang.NullPointerException at com.mederi.kolibri.client.control.DataProvider.getLOV(DataProvider.java:1394) at autocomplete.AutoComplete.main(AutoComplete.java:99) Java Result: 1 BUILD SUCCESSFUL (total time: 4 seconds) ----------------------------------------------------------------------------------------------------- запускаймый код: package autocomplete; import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*; import javax.swing.text.*; import com.mederi.kolibri.client.control.DataProvider; import com.mederi.kolibri.model.config.LovType; public class AutoComplete extends JComboBox implements JComboBox.KeySelectionManager { private String searchFor; private long lap; public class CBDocument extends PlainDocument { @Override public void insertString(int offset, String str, AttributeSet a) throws BadLocationException { if (str==null) return; super.insertString(offset, str, a); if(!isPopupVisible() && str.length() != 0) fireActionEvent(); } } public AutoComplete(Object[] items) { super(items); lap = new java.util.Date().getTime(); setKeySelectionManager(this); JTextField tf; if(getEditor() != null) { tf = (JTextField)getEditor().getEditorComponent(); if(tf != null) { tf.setDocument(new CBDocument()); addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { JTextField tf = (JTextField)getEditor().getEditorComponent(); String text = tf.getText(); ComboBoxModel aModel = getModel(); String current; for(int i = 0; i < aModel.getSize(); i++) { current = aModel.getElementAt(i).toString(); if(current.toLowerCase().startsWith(text.toLowerCase())) { tf.setText(current); tf.setSelectionStart(text.length()); tf.setSelectionEnd(current.length()); break; } } } }); } } } public int selectionForKey(char aKey, ComboBoxModel aModel) { long now = new java.util.Date().getTime(); if (searchFor!=null && aKey==KeyEvent.VK_BACK_SPACE && searchFor.length()>0) { searchFor = searchFor.substring(0, searchFor.length() -1); } else { // System.out.println(lap); if(lap + 1000 < now) searchFor = "" + aKey; else searchFor = searchFor + aKey; } lap = now; String current; for(int i = 0; i < aModel.getSize(); i++) { current = aModel.getElementAt(i).toString().toLowerCase(); if (current.toLowerCase().startsWith(searchFor.toLowerCase())) return i; } return -1; } @Override public void fireActionEvent() { super.fireActionEvent(); } public static void main(String arg[]) { JFrame f = new JFrame("AutoCompleteComboBox"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(200,300); Container cp= f.getContentPane(); cp.setLayout(null); ArrayList<String> names= new DataProvider().getLOV(LovType.CITIES, "Austria"); JComboBox cBox= new AutoComplete(names.toArray()); cBox.setBounds(50,50,100,21); cBox.setEditable(true); cp.add(cBox); f.setVisible(true); } } ------------------------------------------------------------------------------------------------------------ at com.mederi.kolibri.client.control.DataProvider.getLOV(DataProvider.java:1394): public ArrayList<String> getLOV(LovType type, String key) { return Main.client.getObjectManager().getManObjectServ().getLOV(type, key, Main.user.getToken()); } } ------------------------------------------------------------------------------------------------------------- public enum LovType { CITIES(1); private int code; private LovType(int code) { this.code = code; } } помогите! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 22:53:04 |
|
||
|
нужна помощь с ошибкой java.lang.NullPointerException
|
|||
|---|---|---|---|
|
#18+
Вот всегда удивляюсь - вроде указателей в Java нет, а NullPointerException есть. seeker1, ваш код нечитаем, оформите его в тегах [src] с отступами как положено, а то ж непонятно ничего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2012, 08:41:30 |
|
||
|
нужна помощь с ошибкой java.lang.NullPointerException
|
|||
|---|---|---|---|
|
#18+
seeker1return Main.client.getObjectManager().getManObjectServ().getLOV(type, key, Main.user.getToken()); NullPointerException здесь может быть в тыще мест сразу Main == null Main.client == null Main.client.getObjectManager() == null Main.user == null очень помогает дебаг, кстати ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2012, 09:29:38 |
|
||
|
нужна помощь с ошибкой java.lang.NullPointerException
|
|||
|---|---|---|---|
|
#18+
seeker1, очень помогает в idea включенные инспекции по nullpointer`ам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2012, 10:35:16 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37898560&tid=2131240]: |
0ms |
get settings: |
16ms |
get forum list: |
25ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
64ms |
get topic data: |
23ms |
get forum data: |
5ms |
get page messages: |
89ms |
get tp. blocked users: |
3ms |
| others: | 328ms |
| total: | 567ms |

| 0 / 0 |
