Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java combobox

kayttaja-8011 [02.05.2011 00:59:52]

#

public void etsiTiedostot() throws IOException {
	String hakemisto= (String) mistaHakemisto.getSelectedItem();
        File f = new File(hakemisto+"\\");
        if ( f.exists() )
        {
		File[] files = f.listFiles();
		for ( File file : files ) {
			long kbSize = file.length() / 1024;
			haetutTiedostot.append(file.getName() + "\t"+"\t"+
			file.getCanonicalPath() + "\t"+"\t"+kbSize+"kt\n");
	        }
        }

Jotakin häikkää löytyy koodista String hakemisto= (String) mistaHakemisto.getSelectedItem() koska valittaa siitä pitkän listan virheitä. Jos laittaa File f on "C:\" niin se etsii normaalisti tiedostot, mutta tuolla koodilla se valittaa virheistä.

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.io.File cannot be cast to java.lang.String
	at paaikkuna.etsiTiedostot(paaikkuna.java:104)
	at paaikkuna.actionPerformed(paaikkuna.java:131)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	...
	at java.awt.EventDispatchThread.run(Unknown Source)

Mikä mahtaa olla ongelmana ja miten sen voisi ratkaista.

(Mod. poisti turhia rivejä virheilmoituksesta.)

Grez [02.05.2011 01:17:29]

#

No eikös se tuossa heti sanota selvästi:
java.io.File cannot be cast to java.lang.String

Oletettavasti virheellinen rivi on tässä:

String hakemisto= (String) mistaHakemisto.getSelectedItem();

kayttaja-8011 [02.05.2011 01:34:15]

#

Jooh nyt tajusin, kiitti sain sen nyt korjattua. Tein näin ja ongelma korjaantui:
Object obj = mistaHakemisto.getSelectedItem();
String hakemisto = obj.toString();

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta