Witam
Chciałbym się Was poradzić jak rozwiązać najlepiej rozwiązać ten problem.
Z bazy danych MySQL pobieram rekordy (Stringi, Inty, Data) > Dane mam przedstawić na wykresie JFreeBean (JFreeChart)
Ja to zrobiłem w ten sposób :
int pobor[][] = new int[3][10];
...
//ladowanie sterownika jdbc
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection c = DriverManager.getConnection("jdbc:mysql://localhost/mieszkanie","root", .....);
Statement st = c.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM mieszkanie");
... i teraz petla for ktora to zczytuje i wrzuca na tablice
int j=0;
for(int h = 0; h < 3; h++)
{
if(h == 0){
j=0;
for (int i=1; rs.absolute(i) == rs.last() ; i++)
{
rs.absolute(i);
pobor[h][j] = rs.getInt("pobor_urzadz");
j++;
}
}
if(h == 1) {
j=0;
for (int i=1; rs.absolute(i) == rs.last() ; i++)
{
rs.absolute(i);
pobor[h][j] = rs.getString("nazwa_urzadz");
j++;
}
}
if(h == 2) {
j=0;
for (int i=1; rs.absolute(i) == rs.last() ; i++)
{
rs.absolute(i);
pobor[h][j] = rs.getString("status_urzadz");
j++;
}
}
}
OK dane mam w tablicy trzy wymiarowej... teraz trzeba to przerzucic na wykres
final DefaultCategoryDataset data = new DefaultCategoryDataset();
final String PRIVILEGED_USERS = "A";// tu docelowo ma byc Rekord z bazy danych (string)
data.setValue(pobor[h][i], PRIVILEGED_USERS, "Lokal"); // pobor[h][i]-to wartosc rekordu (int), PRIVIL... -opisane wyzej, "Lokal"- wartosc rekordu (string). Jedna linijka to jedna wartosc na wykresie.
this.jBarChart1.setDataset(data);
Teraz sie zastanawiam nad ta tablica bo musza sie w niej znajdowac zarowno Int'y jaki i String'i wiec nie wiem jak to zrobic zeby bylo OK. Tworzenie wykresu tez mnie zastanawia (data.setValue(pobor[h][i], PRIVILEGED_USERS, "Lokal");) Bo chcialem to zrobic podonie jak zczytywanie danych na petli for ale jak to zrobic zeby w wyniku jej dzialania powstaly tylko 3 linijki data.setValue(........)