JTable vypis do souboru – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

JTable vypis do souboru – Java – Fórum – Programujte.comJTable vypis do souboru – Java – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
roman.jaros0
Newbie
12. 11. 2010   #1
-
0
-

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

Nahlásit jako SPAM
IP: 90.177.76.–
Reklama
Reklama
liborb
~ Redaktor
+18
Guru
12. 11. 2010   #2
-
0
-

Hází ti to, že indexuješ pole mimo rozsah. Hoď se ten kód, na kterým to zkoušíš.

Nahlásit jako SPAM
IP: 195.189.143.–
roman.jaros0
Newbie
13. 11. 2010   #3
-
0
-

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);

Nahlásit jako SPAM
IP: 90.177.76.–
KIIV+42
God of flame
13. 11. 2010   #4
-
0
-

jo presne .. tring predmet[] = new String [54];
je pole od 0 do 53

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
roman.jaros0
Newbie
13. 11. 2010   #5
-
0
-

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, :(

Nahlásit jako SPAM
IP: 90.177.76.–
zdenda
~ Anonymní uživatel
257 příspěvků
14. 11. 2010   #6
-
0
-

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 :)

Nahlásit jako SPAM
IP: 213.211.51.–
roman.jaros0
Newbie
14. 11. 2010   #7
-
0
-

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 :)

Nahlásit jako SPAM
IP: 90.177.76.–
petr.satka0
Newbie
14. 11. 2010   #8
-
0
-

To roman.jaros :
špatně for (poleA = 0; poleA <= predmet.length; poleA++)
správně for (poleA = 0; poleA < predmet.length; poleA++)

Nahlásit jako SPAM
IP: 217.112.175.–
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žit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 30 hostů

Podobná vlákna

Výpis do souboru — založil Kotrfa

Výpis ze souboru — založil Jirka

Vypis do souboru — založil Franceq

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý