Dobrý den, potřeboval bych jsem poradit, jak nechám vypsat data, která se do tabulky zapíšou, aby se při kliknutí zapsala do souboru. Myslel jsem si, že by to mohlo být a tak jsem dal do objektu(řádku) pole od 0 - 54, ale hází mi to nějakou vyjímku. :
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 54
No a já nevím co stím. Mohl by mi někdo prosím pomoct ? Děkuji
Fórum › Java
JTable vypis do souboru
tady je kod s celou tabulkou.
String predmet[] = nul;
String predmet[] = new String [54];
NovyRozvrhTable.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{predmet[0], predmet[1], predmet[2], predmet[3], predmet[4], predmet[5], predmet[6], predmet[7], predmet[8], predmet[9], predmet[10]},
{predmet[11], predmet[12], predmet[13], predmet[14], predmet[15], predmet[16], predmet[17], predmet[18], predmet[19], predmet[20], predmet[21]},
{predmet[22], predmet[23], predmet[24], predmet[25], predmet[26], predmet[27], predmet[28], predmet[29], predmet[30], predmet[31], predmet[32]},
{predmet[33], predmet[34], predmet[35], predmet[36], predmet[37], predmet[38], predmet[39], predmet[40], predmet[41], predmet[42], predmet[43]},
{predmet[44], predmet[45], predmet[46], predmet[47], predmet[48], predmet[49], predmet[50], predmet[51], predmet[52], predmet[53], predmet[54]},
},
new String [] {
"Dny", "07:05-07:50", "08:00-08:45", "08:50-09:35", "09:55-10:40", "10:45-11:30", "11:40-12:25", "12:30-13:15", "13:25-14:10", "14:15-15:00", "15:10-15:55"
}
));
jScrollPane1.setViewportView(NovyRozvrhTable);
No, jo, ale když jsem zadal
String predmet[] = new String [55];
aby to bylo na všechny pole, tak mi hlásí pořád stejnou chybu, :(
Tak je ta chyba jinde. V tom výpisu máš predmety definované dvakrát a zbytečně vypisuješ těch 54 prvků. Takže bych řekl, že někde v tom, co není vidět, máš ještě nějakou šílenost, na které to klekne. Nebo jsi to třeba po úpravě jen nezkompiloval :)
package skolaHrou;
import java.awt.*;
import java.io.*;
import javax.swing.*;
public class novyRozvrh extends JFrame {
public novyRozvrh() {
initComponents();
center();
}
private void center() {
Dimension screenDim = Toolkit.getDefaultToolkit().getScreenSize();
setLocation(((screenDim.width - getSize().width) / 2), ((screenDim.height - getSize().height) / 2));
}
int poleA;
String predmet[] = new String[55];
private void initComponents() {
rozvrh = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
NovyRozvrhTable = new javax.swing.JTable();
novyRorvh = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
rozvrh.setBackground(new java.awt.Color(255, 131, 250));
for (poleA = 0; poleA <= predmet.length; poleA++) {
predmet[poleA] = null;
System.out.println(predmet[poleA]);
}
NovyRozvrhTable.setModel(new javax.swing.table.DefaultTableModel(
new String [][] {
{predmet[0], predmet[1], predmet[2], predmet[3], predmet[4], predmet[5], predmet[6], predmet[7], predmet[8], predmet[9], predmet[10]},
{predmet[11], predmet[12], predmet[13], predmet[14], predmet[15], predmet[16], predmet[17], predmet[18], predmet[19], predmet[20], predmet[21]},
{predmet[22], predmet[23], predmet[24], predmet[25], predmet[26], predmet[27], predmet[28], predmet[29], predmet[30], predmet[31], predmet[32]},
{predmet[33], predmet[34], predmet[35], predmet[36], predmet[37], predmet[38], predmet[39], predmet[40], predmet[41], predmet[42], predmet[43]},
{predmet[44], predmet[45], predmet[46], predmet[47], predmet[48], predmet[49], predmet[50], predmet[51], predmet[52], predmet[53], predmet[54]},
},
new String [] {
"Dny", "07:05-07:50", "08:00-08:45", "08:50-09:35", "09:55-10:40", "10:45-11:30", "11:40-12:25", "12:30-13:15", "13:25-14:10", "14:15-15:00", "15:10-15:55"
}
));
jScrollPane1.setViewportView(NovyRozvrhTable);
novyRorvh.setText("Uložit rozvrh");
novyRorvh.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
novyRorvhActionPerformed(evt);
}
});
//zde je od netbeans vytvořený kod pro pozice, celkový vzhled
pack();
}// </editor-fold>
private void novyRorvhActionPerformed(java.awt.event.ActionEvent evt) {
try {
PrintWriter vystup = new PrintWriter(new FileOutputStream("predmety.txt"));
for (poleA = 0; poleA <= predmet.length; poleA++) {
vystup.print(predmet[poleA]);
}
vystup.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new novyRozvrh().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JTable NovyRozvrhTable;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JButton novyRorvh;
private javax.swing.JPanel rozvrh;
// End of variables declaration
}
celkový kod :)To roman.jaros :
špatně for (poleA = 0; poleA <= predmet.length; poleA++)
správně for (poleA = 0; poleA < predmet.length; poleA++)
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 18 hostů
Podobná vlákna
Zápis do souboru a výpis ze souboru — založil Petr
Výpis ze souboru — založil Jirka
Vypis do souboru — založil Franceq
Výpis do souboru — založil Kotrfa
C/c++ výpis souborů z adresáře — založil míša
Moderátoři diskuze