ResultSet rs = stmt.executeQuery("SELECT Disciplina FROM questoes GROUP BY Disciplina");
try {
Class.forName(driver);
conn = (Connection) DriverManager.getConnection(url, user, pass);
Statement stmt = (Statement) conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT Disciplina FROM questoes GROUP BY Disciplina");
int x = 0;
while(rs.next()) {
TOTAL_DE_DISCIPLINAS = rs.getRow();
ArrayList lista = new ArrayList();
while (x < TOTAL_DE_DISCIPLINAS) {
String NOME_ENCONTRADO = rs.getString(x);
lista.add(NOME_ENCONTRADO);
x++;
}
}
} catch(Exception e) {
}
}
Minha intenção com esse código era adicionar cada campo "disciplina" que o resultset achava em uma ArrayList.
E depois criar um elemento JTree para cada um com o seu nome:
int y = 0;
while (y < TOTAL_DE_DISCIPLINAS) {
new javax.swing.tree.DefaultMutableTreeNode(lista.get(y));
y++;
}
Mas recebo esse erro:
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at Questoes.initComponents(Questoes.java:103)
at Questoes.
at Questoes$1.run(Questoes.java:12)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Que o que em parece, me diz que eu estou tentando acessar um valor não existente na ArrayList.