Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Java koodaus

Sivun loppuun

jokunen1 [07.03.2012 12:16:49]

#

mistä saa java kääntimen?

Lisäys: Voisiko joku ystä väliisesti kertoa mistä saa java koodin kääntimen? Ja millainen sen pitää olla?

Lisäys: Ja vielä että olen aloitteleva. Echoa oon kyllä käyttänyt kun tein peinen teksti seikkailun mutta haluaisin aloittaa java koodauksen mutta onko se minulle liian haastava kun kokemusta ei oikein ole. Oppaan olen kyllä jo löytänyt.

qeijo [07.03.2012 12:22:07]

#

Asenna JDK, tai/ja Eclipse IDE for Java EE Developers

jokunen1 kirjoitti:

.. haluaisin aloittaa java koodauksen mutta onko se minulle liian haastava kun kokemusta ei oikein ole ..

Ainahan aloitetaan ilman kokemusta.

Triton [07.03.2012 13:31:50]

#

Itse suosittelisin NetBeansiä.

jokunen1 [08.03.2012 10:37:59]

#

Siismikä näistä on tarkoitus ladata ikä on sopiva javan koodaukseen? Link:http://netbeans.org/downloads/index.html

Lisäys: Sori kirjotus virheet.

jukkah [08.03.2012 10:41:27]

#

Java SE. Se ei sisällä kaikkea "ylimääräistä".

jokunen1 [15.03.2012 16:34:12]

#

Hei tarviiko tähän ohjelmaan jonkin java JDK?

Macro [15.03.2012 16:49:18]

#

http://www.oracle.com/technetwork/java/javase/downloads/jdk-7-netbeans-download-432126.html

Avaa tuo, paina Accept License Agreement ja valitse ohjelman versio minkä haluat. Todennäköisesti kohdasta Windows.

Saat siitä JDK:n joka vaaditaan Java-kehitykseen, sekä NetBeansin, joka toimii IDE:nä eli editorina.

jokunen1 [15.03.2012 17:33:30]

#

No niin slkoihn toimia! Kiitos kaikille avusta kysyn täältä jos koodausta opetellessa tulee ongelmia.

Lisäys: No niin alkoihan toimia!

jokunen1 [17.03.2012 16:37:08]

#

No niin nyt tuli ohjelmoitia opetellessa mieleen että miten nämä ohjelmat saa oikein taallennettua ajettavaksi tiedoitoiksi? (saako .exe tiedostoiksi?)

jukkah [17.03.2012 16:43:28]

#

Ohjelma.jar vastaa ohjelma.exe:ä. Se löytyy buildin (vasara NetBeansissä) jälkeen dist-hakemistosta.

jokunen1 [18.03.2012 11:07:07]

#

Saan hakemistoon dist ohjema.jar tiedoston mutta kun yritän avata sen se ei tee mitään pitääkö tiedostolle tehdä jotain vai onko vika koodissa. NetBeans:sissa ajaessa kyllä toimi.

Grez [18.03.2012 11:15:08]

#

Siis yrität avata sen miten? "unzip ohjelma.jar"?

Vai tarkoitatko, että yrität suorittaa sen? "Java ohjelma", vai jotenkin muuten?

jokunen1 [18.03.2012 12:43:17]

#

Tarkoitan että tuplalikkaan sitä. eli suorittaa.

Macro [18.03.2012 13:33:12]

#

Välähtääkö komentorivi?

Suorita jar-tiedosto vaikka komentoriviltä java -jar ohjelma.jar. Jos saat virheitä, niin näet ne siinä.

jukkah [18.03.2012 18:12:45]

#

Jos kääntäjä on tehnyt jar-tiedoston (valittamatta), vika voisi olla Could not find the main class -virheestä (katso Macron mainitsemaa komentorivin tulostetta).

jokunen1 [20.03.2012 14:37:19]

#

Käynnistäessä ei käy musta laatikko.

jokunen1 [22.03.2012 15:02:43]

#

Saanko tarkemmin ton komento rivin siis mitä siihen pitää kirjottaa?

jukkah [22.03.2012 16:58:38]

#

Output kirjoitti:

To run this application from the command line without Ant, try:
java -jar "C:\Users\user.name\Documents\NetBeansProjects\HeiMaailma\dist\HeiMaailma.jar"

Eli aja buildi uudelleen ja katso Outputista (saa näkyviin valikosta Window > Output > Output, mikäli on piilossa), mitä sen loppuosassa lukee.

jokunen1 [27.03.2012 14:27:23]

#

Tunnen itseni tymäksi mutta voiko joku selittää mikä on output?

Grez [27.03.2012 14:45:11]

#

Ohjelmalle syötettävää tietoa kutsutaan syötteeksi (input) ja ohjelman ulos antamaa tietoa kutsutaan tulosteeksi (output)

Eli siis output on ohjelman tuloste.

Tässä yhteydessä kuitenkin viitattaneen ohjelmointiympäristössä olevaan ikkunaan, joka on otsikoitu "output" ja johon tuon ohjelman tuloste tulee näkyville.

jokunen1 [27.03.2012 17:08:13]

#

Aa! Kiitos tiedosta.

jokunen1 [28.03.2012 16:50:21]

#

Tossa nyt on se output: Error: Unable to access jarfile C\Users\user.nameDocuments\NetBeansProjects\eka\\dist\eka.jar

jukkah [30.03.2012 11:21:54]

#

Yritä uudestaan. Virhe johtuu todennäköisesti kirjoitusvirheestä. Sen pitää olla just eikä melkein se, mitä Output sanoo.

Grez [30.03.2012 12:18:44]

#

Jos se tosiaan heittää "C\Users\user.nameDocuments\..." niin voi jo päätellä aika paljon miksi ei toimi. : puuttuu C jälkeen, user.name:n jälkeen puuttuu \, koneen käyttäjä ei todennäköisesti ole user.name jne.

jukkah [30.03.2012 12:56:40]

#

Grez: Komentoriviltä ei voi kopioida Ctrl+C:llä (liekö ollenkaan), joten homma pitää kirjoittaa käsin. Nuo kolme oikeasti virheellistä kohtaa voi laskea puhtaiksi kirjoitusvirheiksi. Sitä paitsi käytin itsekin tuota user.name sensurointia aiemmin tässä aiheessa.

tuutti [30.03.2012 13:05:19]

#

jukkah kirjoitti:

Grez: Komentoriviltä ei voi kopioida Ctrl+C:llä (liekö ollenkaan)

Hiiren sivunapilla komentiriviä -> mark -> valitsee kopioitavan teksti ja painaa uuestaa hiiren sivunappii.

jukkah [30.03.2012 13:12:31]

#

Kaikkea sitä oppii... :)

jokunen1 [31.03.2012 12:30:21]

#

hei mahtaako tällä ollla merkitystä että tiedosto on Executable Jar File?

jukkah [31.03.2012 12:54:06]

#

Ei mitään merkitystä (haitallista sellaista). Rakkaalla lapsella on monta nimeä... ;)

Lisäys: Jos muuten et onnistu saamaan ohjelmaasi käyntiin ilman NetBeansia, älä jää sitä ihmettelemään / hakkaamaan päätä seinään, vaan skippaa se ja tee jotain, mikä onnistuu. Kokemuksen kartuttua kaikki alun hankaluudet tuntuvat itsestään selviltä pikkujutuilta.

jokunen1 [31.03.2012 15:06:03]

#

joo jätetään tämä taakse ja javaa opettelemaan. :)

jokunen1 [03.04.2012 14:43:57]

#

Tossa nyt tommonen pikku kokeilu ja onko tossa jotain virheitä tai muuta kommentoitavaa?

(toimi NetBeansissa)

import java.util.*;

public class HelloWord {
    private static Scanner input = new Scanner(System.in);

    public static void main(String[] args) {
	       System.out.println("moi");
               System.out.println("nimesi?");
           String nimi = input.nextLine();
           System.out.println("Nimesi on "+nimi+".");
           System.out.println("Ikäsi on?");
           String ika = input.nextLine();
           System.out.println("Ikäsi on "+ika+".");
           System.out.println("Onko tiedot nyt oikein? Jos on kirjoita joo.");
           String kylla = input.nextLine();
           if (kylla.equals("joo")){
               System.out.println("Eli nimesi on "+nimi+" ja ikäsi on "+ika+".");
           } else {
               System.out.println("Eikö?");
           }
    }
}

jukkah [03.04.2012 15:29:24]

#

Jeps, ei moittimista.

Pari vinkkiä: Koodin luettavuutta saat parannettua huomattavasti ja helposti käyttämällä tyhjiä rivejä erottamaan kokonaisuuksia. Tässä tapauksessa esim. nimeen ja ikään liittyvien rivien väliin voisi laittaa yhden tyhjän rivin. Lisäksi (mikäli et jo tiedä) Alt+Shift+F on tehokas apulainen.

jokunen1 [03.04.2012 20:30:01]

#

Tähän tapaan?

import java.util.*;

public class HelloWord {
    private static Scanner input = new Scanner(System.in);

    public static void main(String[] args) {

	       System.out.println("moi");
               System.out.println("nimesi?");
           String nimi = input.nextLine();
           System.out.println("Nimesi on "+nimi+".");

           System.out.println("Ikäsi on?");
           String ika = input.nextLine();
           System.out.println("Ikäsi on "+ika+".");

           System.out.println("Onko tiedot nyt oikein? Jos on kirjoita joo.");
           String kylla = input.nextLine();
           if (kylla.equals("joo")){
               System.out.println("Eli nimesi on "+nimi+" ja ikäsi on "+ika+".");
           } else {
               System.out.println("Eikö?");
           }
    }
}

jukkah [03.04.2012 21:14:17]

#

Niin sitä pitää, laitoit sen toisenkin tyhjän rivin (muitakin voisi olla riippuen mielipiteestä => eivät ole pakollisia), vaikka en sitä suoraan sanonutkaan!

Voit siirtyä seuraavaan harjoitukseen... :)

jokunen1 [04.04.2012 14:24:52]

#

Hei!


Tuli mieleen että miten saa putsattua näytön sillen että kaiki mitä ohjelma on sinne kirjoittanut lähtee näkyvistä? (Cleans screen)

Sitten on semmonen ktsymys että miten saa ohjelan niin että se odottaa että sen käyttäjä painaa jotain näppäintä ennen kun jatkaa esim: enter?

Ja kolmas viimeinen että miten saa niin että ennen seuraavaa komentoa odottaa tietyn ajan esim: 1sekuntti?

Jos jossain on listaa tämmösistä niin vois laittaa linkinkin.

Tossa tuli vaan mieleen kiitos jo etukäteen. :)

jukkah [04.04.2012 16:40:42]

#

jokunen1 kirjoitti:

Tuli mieleen että miten saa putsattua näytön sillen että kaiki mitä ohjelma on sinne kirjoittanut lähtee näkyvistä? (Cleans screen)

Tämän mukaan seuraava toimii Linuxissa muttei Windowsissa.

System.out.print("\f");

jokunen1 kirjoitti:

Sitten on semmonen ktsymys että miten saa ohjelan niin että se odottaa että sen käyttäjä painaa jotain näppäintä ennen kun jatkaa esim: enter?

Se on hyvin yksinkertainen (varsinkin enterille).

// Aiemmin näin: Scanner lukija = new Scanner(System.in);
lukija.nextLine(); // Odotetaan seuraavaan enteriin asti.

jokunen1 kirjoitti:

Ja kolmas viimeinen että miten saa niin että ennen seuraavaa komentoa odottaa tietyn ajan esim: 1 sekuntti?

Tämä vaatii kenties vähän miettimistä.

try {
    // Ainoa oleellinen rivi on seuraava.
    Thread.sleep(1000); // 1 s = 1000 ms
} catch (InterruptedException ex) {
    // Jotain meni pieleen...
}

Java vaatii tässä kohti virheenkäsittelyn. Riittää, että kirjoitat vain Thread.sleep(1000);. NetBeans antaa punaisen lampun rivin alkuun => napsauta sitä ja valitse "Surround Statement with try-catch".

Lisäys: Niin ja sleeppiä ei suositella käytettävän pääsäikeessä (säie, joka kutsuu mainia). Sitä tarvitaan yleensä animaatioissa, jolloin käytetään toista säiettä. (Pysyt samassa säikeessä, kunnes erikseen luot ja käynnistät uuden; ne eivät ole ihan ensimmäisiä ohjelmoinnin perusasioita.)

vuokkosetae [04.04.2012 17:02:03]

#

Ihan mielenkiinnosta. Miksi pääsäiettä ei saa nukuttaa? Entä jos on vain yksi säie? Silloin ei varmaan ole mitään ongelmaa? Vai onko?

tsuriga [04.04.2012 17:32:41]

#

Koska se keskeyttäisi koko ohjelman toiminnan, esim. GUI-ohjelmissa koko käyttöliittymän. Jos se on haluttua niin miksei, mutta yleensä säikeiden kanssa näin ei ole, tästä johtuen NetBeanssikin aina huomauttaa asiasta.

jokunen1 [04.04.2012 18:39:50]

#

Entä jos on windows?

jukkah [04.04.2012 19:58:10]

#

Monta erilaista ehdotusta löytyi, mutta yksikään ei toiminut Win7:llä. :(

Macro [04.04.2012 20:23:49]

#

Jos puhutte siis komentorivin tyhjentämisestä, niin kävisikö vaikka

Runtime.getRuntime().exec("cls");

jokunen1 [05.04.2012 15:20:50]

#

näin? (toi aika juttu)

    public static void main(String[] args) {
	       System.out.println("moi");
               try {
    Thread.sleep(1000);
               System.out.println("nimesi?");
           String nimi = input.nextLine();
           System.out.println("Nimesi on "+nimi+".");

           System.out.println("Ikäsi on?");
           String ika = input.nextLine();
           System.out.println("Ikäsi on "+ika+".");

           System.out.println("Onko tiedot nyt oikein? Jos on kirjoita joo.");
           String kylla = input.nextLine();

           if (kylla.equals("joo")){
               System.out.println("Eli nimesi on "+nimi+" ja ikäsi on "+ika+".");
           } else {
               System.out.println("Eikö?");
           }
    }
        catch (InterruptedException ex) {
            Logger.getLogger(HelloWord.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

jukkah [05.04.2012 16:06:37]

#

Kyllä se toimii, mutta säädä sitä vielä.

Poikkeustenkäsittelystä mainitsen sen verran, että jätä vain sleep-rivi try-lonkon sisään ja siirrä kaikki muut rivit try-lonkon sisältä catch-lohkon perään. Jos nimittäin tapahtuisi poikkeus sleepissä, jäljellä olevat try-lohkon rivit skipattaisiin, eli ne jäisivät suorittamatta. Sehän ei ole tarkoitus, vaan ennemmin niin, että jos sleep ei onnistu sekunnin mittaisena, ohjelma jatkuu jo aikaisemmin.

Sitten toinen asia. Koodisi ei ole formatoitua, eli konemuotoiltua. Tuota koodia oli aika hankala lukea, joten yritä tajuta tämä helppo tapa, jolla siitä saa lukukelpoisen.
1. Paina koodin päällä hiiren oikeaa näppäintä => aukeaa pikavalikko.
2. Valitse Format. Jos et löydä sitä valikosta, kokeile ensimmäistä kohtaa toisessa kohdassa koodia.

Huomaat, että koodisi muuttuu. Temppu ei kadota mitään kohtaa koodistasi, vaan tekee siitä helpommin luettavan ja systemaattisen.

Kokeilepa liittää alla oleva koodi mainin sisään ja aja sille formaatti myös.

int luku1=2;int luku2=5;int summa=luku1+luku2;System.out.println(summa);

Tuosta koodista ei heti huomaa tuollaisenaan, mitä se tekee. Mutta kun ajat sille formaatin, idea valkenee heti.

Ps. Formaattia kannattaa käyttää myös aina, kun kopioi jotain vaikka täältä Ohjelmointiputkasta.

jokunen1 [16.05.2012 13:52:36]

#

Toi lohko juttu meni vähän ohi:

Poikkeustenkäsittelystä mainitsen sen verran, että jätä vain sleep-rivi try-lonkon sisään ja siirrä kaikki muut rivit try-lonkon sisältä catch-lohkon perään. Jos nimittäin tapahtuisi poikkeus sleepissä, jäljellä olevat try-lohkon rivit skipattaisiin, eli ne jäisivät suorittamatta. Sehän ei ole tarkoitus, vaan ennemmin niin, että jos sleep ei onnistu sekunnin mittaisena, ohjelma jatkuu jo aikaisemmin.

Että miten se koodi pitäisi muotoilla että toimis esi merkki?

Mutta ton koodin ymmärsin kyllä oon lukenut siitä jo. Nyt tuli muuten formatoitua (miten se kirjoitetaan) kone ja on ollut kiire mutta nyt näyttäs olevan aikaan niin päätin taas palata ohjelmoinnin saloihin. :D

Lisäys:

yritän suorittaa java ohjelmaa ja se ei toimi vieläkään avasin sen notebadilla ja tuli sekasotkua.

Macro [16.05.2012 15:53:03]

#

Ei niitä jar-faileja kuulukkaan avata millään tekstieditorilla. Jos haluat muokata ohjelmaa, muokkaa java-tiedostoja ja pakkaa uudelleen jarriksi.

jokunen1 [16.05.2012 16:42:57]

#

Ok mutta miten ton tiedoston oikein saa toimimaan.

jukkah [16.05.2012 23:05:59]

#

Zippaa se koko projekti, ja laita johonkin jakoon tai lähetä vaikka sähköpostilla, niin katsotaan, missä vika piileskelee.

Jos tajusin, mitä ajat takaa try-jutun kanssa, niin esimerkkikoodi menee näin:

String teksti = "123";

try {
    int luku = Integer.parseInt(teksti);

    // Tässä kohti voidaan olettaa, että tekstin muuttaminen luvuksi onnistui.
    System.out.println("Luku oli: " + luku);
} catch (NumberFormatException numberFormatException) {
    // Tässä kohti voidaan olettaa, että tekstin muuttaminen luvuksi epäonnistui.
    System.out.println("Merkkijono oli: " + teksti);
}

// Tässä kohti ei ole enää väliä parsimisen onnistumisella.
System.out.println("Hei, hei.");

jokunen1 [17.05.2012 14:01:13]

#

========================
BUILD OUTPUT DESCRIPTION
========================

When you build an Java application project that has a main class, the IDE
automatically copies all of the JAR
files on the projects classpath to your projects dist/lib folder. The IDE
also adds each of the JAR files to the Class-Path element in the application
JAR files manifest file (MANIFEST.MF).

To run the project from the command line, go to the dist folder and
type the following:

java -jar "JavaApplication1.jar"

To distribute this project, zip up the dist folder (including the lib folder)
and distribute the ZIP file.
Tämä löytyy dist kansi osta mistä jar tiedostokin selven tääkö tämä jotain?

Notes:

* If two JAR files on the project classpath have the same name, only the first
JAR file is copied to the lib folder.
* Only JAR files are copied to the lib folder.
If the classpath contains other types of files or folders, these files (folders)
are not copied.
* If a library on the projects classpath also has a Class-Path element
specified in the manifest,the content of the Class-Path element has to be on
the projects runtime path.
* To set a main class in a standard Java project, right-click the project node
in the Projects window and choose Properties. Then click Run and enter the
class name in the Main Class field. Alternatively, you can manually type the
class name in the manifest Main-Class element.


Lisäys: sori toi tekstini meni tonne väliin vahingossa. Ja koneeni yrittää avata ohjelman Java(TM) Plantform SE binary eikä ilmeiseti suorittaa.

Cornix [17.05.2012 17:40:08]

#

jokunen1 kirjoitti:

To run the project from the command line, go to the dist folder and
type the following:

java -jar "JavaApplication1.jar"

To distribute this project, zip up the dist folder (including the lib folder)
and distribute the ZIP file.

Tämä löytyy dist kansi osta mistä jar tiedostokin selven tääkö tämä jotain?

Tuo tarkoittaa, että "siirry komentorivillä dist-hakemistoon ja aja tämä komento, niin ohjelmasi suoritetaan". Komentorivin löydät Windows-valikon Apuohjelmista tai kirjoittamalla Windows-valikon Suorita-tekstilaatikkoon cmd ja painamalla Suorita.

Komentorivillä voit siirtyä tuohon hakemistoon cd-komennolla (tulee sanoista change dir eli vaihda hakemistoa) näin:

cd C:\Users\SUNKONEENKÄYTTÄJÄNIMI\Documents\NetBeansProjects\eka\dist\

Muista korvata tuo koneen käyttäjänimi oikealla hakemiston nimellä!

Kun olet siirtynyt komentorivillä oikeaan hakemistoon, ajat vain tuon ehdotetun komennon:

java -jar "JavaApplication1.jar"

Windowsista ei yleensä kannata komentoriviohjelmia ajaa tuplaklikkaamalla .jar-kuvaketta, koska ohjelman loppumisen jälkeen komentorivi häviää näkyvistä eikä mahdollisia virheilmoituksia ehdi nähdä välähtävästä ruudusta. (Tämänhän jo taisit itsekin huomata.)

jokunen1 [17.05.2012 18:17:55]

#

Joo pitää testata kun menen tietokoneelleni yritin jo kyllä mutta väärällä komennolla. :)

Lisäys:

Meinaa että määritettyä polkua ei löydy. kun laitoin suoraa se herjaa: Unable to access jarfile JavaApplication7 /mikä sen nimi onkaan.

Käytän sitten Windows XP jos se vaikuttaa ja komentorivin [versio 5.1.2600]


Mistä voi tarkistaa sitten äyttäjä nimen?

Onko se komentorivin aina konennon edessä?

Ja voinko yrittää eri paikasta/hakemistosta suorittaa sen?

Ja onko tossa hakemistossa toi (eka) sen kansion nimi missä on kansio (dist)?

Kokeiltu on montakertaa.

jukkah [17.05.2012 20:37:01]

#

jokunen1: Testasin lähettämääsi ohjelmaa, eikä siinä ollut mitään vikaa.

Komentorivi antaa virheilmoituksen, jos kirjoitat yhdenkin merkin väärin. Kirjoita siis komennot tarkasti, esim. niin kuin Cornix edellä opasti.

Homma toimii XP:ssä ihan hyvin. Ja käyttäjänimesi löydät komentoriviltä komennon edestä.

Ohjelman voi suorittaa (Java(TM) Plantform SE binary on virtuaalikone, eli suorittava ohjelma) mistä tahansa kansiosta, mutta jos et ole samassa kansiossa jar-tiedoston kanssa, pitää java-komentoon laittaa joko suhteellinen tai absoluuttinen polku tiedostonimen eteen.

Jos et saa hommaa millään toimimaan, niin lunttaa tästä :)

java -jar "Documents\NetBeansProjects\JavaApplication7\dist\JavaApplication7.jar"

jokunen1 [18.05.2012 12:29:16]

#

Sitten se sanoo: Unable to acess jarfile Documents\NetBeansProjects\JavaApplication7\dist\JavaApplication7.jar

tesmu [18.05.2012 13:34:14]

#

Minulla on sellanen tunne että keskustelun aloittaja on erittäin taitava Trolli ja muut ei ole sitä vielä huomanneet :D

jokunen1 [18.05.2012 13:47:59]

#

:D En trollaa oikeasti. Muuten kyllä toi minecraft suostuu vaivatta toimimaan tupla likkauksella vaikka se on jar.

Lisäys: Pitää varmaan kokeilla toisella koneella kun toimi jukahillakin. Tupla lkatessa kone antaa myös varoitus äänen.

Macro [18.05.2012 14:27:08]

#

Ehkä sun pitää laittaa siihen sen jarrin oikea sijainti...

jokunen1 [18.05.2012 15:01:00]

#

No niin edistystä ilmeiseti löysi tiedoston pielessä oli se että mulla ei ole kansiota documents vaan Omat tiedostot. Nyt se vuorostaan heittää:Exception in thread "main" java.lang.UnsupportedClassVersionError: javaapplicati
on7/JavaApplication7 : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass­(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged­(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass­(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: javaapplication7.JavaApplication7. Program will e
xit.

Macro [18.05.2012 15:25:47]

#

Sulla on JDK 7, mutta JRE 6. Päivitä se siis uusimpaan versioon.

Metabolix [18.05.2012 15:32:37]

#

Toistaiseksi fiksumpi ratkaisu olisi ehkä säätää projekti niin, että se toimii JRE 6:lla, koska monella peruskäyttäjällä on luultavasti edelleen se.

Macro [18.05.2012 15:39:28]

#

Milloinkohan JRE 7 -päivitys tulee kaikille?

jukkah [18.05.2012 19:32:53]

#

Se on jo olemassa: http://java.com/en/download/index.jsp.

Macro [18.05.2012 19:44:15]

#

Joo, mutta jos sulla on koneella JRE 6, niin eihän se päivitä sitä seiskaan vaan seuraavaan kutosen versioon (32 tällä hetkellä vissiin). Vai?

jokunen1 [18.05.2012 19:51:15]

#

Uskokaa tai älkää mutta VIHDOIN odotettu output! Eli toisin sanoien ohjelmani toimi.

Lisäys: Kiitos kaikille jotka auttoivat. :)

jokunen1 [10.06.2012 16:48:40]

#

luin tuolta ohjelmointiwikistä että java on yleensä netti sovelluksien tekoon. Niin miten saa koodini nettiin ja miten sen saan sen siellä toimimaan?

Macro [10.06.2012 17:12:01]

#

Sun pitää luoda appletti.

Ps. Ihan yhtä hyvin sillä voi tehdä työpöytäsovelluksia...

Triton [10.06.2012 17:48:09]

#

jokunen1 kirjoitti:

luin tuolta ohjelmointiwikistä että java on yleensä netti sovelluksien tekoon.

On vai? Enpä ole tiennyt.

"Macro kirjoitti:

Ps. Ihan yhtä hyvin sillä voi tehdä työpöytäsovelluksia...

Javaa voi käyttää lähes missä vain ts. kaikilla niillä alustoilla, joille JVM on käännetty, tarkoittaen sitä, että netti- tai työpöytäsovellukset ovat vain pieniosa siitä kaikesta...

Blaze [10.06.2012 20:30:25]

#

Macro kirjoitti:

Sun pitää luoda appletti.

Javaa käytetään nykyään useimmiten nimenomaan palvelinpuolella.

jokunen1 [10.06.2012 22:22:18]

#

No voinhan tehä selaimeen toimivan ohjelman. Että miten sitten saan toimimaan koodin selaimessa?

Triton [10.06.2012 22:34:00]

#

Jos sä nyt nimenomaan haluat Javalla tehdä selaimessa toimivan ohjelman, niin silloin luot sen Appletin. Itse en kylläkään Appletteja käyttelisi, koska ne aiheuttavat ongelmia ja toisaalta näkisin, että Javan hyvyys tulee esille nimenomaan palvelin puolella.

http://docs.oracle.com/javase/tutorial/deployment/applet/

jokunen1 [10.06.2012 22:53:22]

#

No mitä niiden applettien suurimpia ongelmia on? Ja mitä ne vahvuudet palvelin puolella on? Mitä sillä tarkoitat?

Grez [10.06.2012 23:07:32]

#

Itse pidän huonoimpina puolina sitä, että käyttäjä joutuu (selaimen lisäksi) asentamaan JRE:n ja pitämään sen päivitettynä.

Jos käyttäjä noudattaa tietoturvapolitiikkaa, jossa hänen pääselaimessaan ei ole Javaa asennettuna, joutuu hän käynnistämään Javakäyttöön tarkoitetun selaimen. Joka on ihan OK, jos appletti tarjoaa sellaista, jota ei voitaisi kohtuudella toteuttaa selaimiin sisältyvillä toiminnoilla*. Jos taas appletti on joku suht turha, niin voi jäädä käynnistämättä.

* Selainten tarjotessa yhä paremmat työkalut vakiona, on aina vaan vähemmän asioita joihin on oikeasti pakko olla appletti.

jokunen1 [11.06.2012 23:50:00]

#

No miten noi java sovellukset on toiminut pelkän javan avuin? Että onko ne tehty eri tavalla

Triton [12.06.2012 02:34:18]

#

jokunen1 kirjoitti:

No miten noi java sovellukset on toiminut pelkän javan avuin? Että onko ne tehty eri tavalla

Häh? Mitähän sä nyt mahdatkaan kysyä? Tietenkin Javalla pystyy tekemään ohjelmia, mitkä toimivat pelkällä Javalla, joten en nyt ymmärrä varsinaista kysymystä.

Edit. Siis Javalla voi tehdä komentoriviohjelmia, servlettejä, middlettejä, appletteja, portletteja ja vaikka kuinka paljon muutakin. Sovelluksen tyyppi määrää sen, että mitä kirjastoja käytetään ja mitä luokkia periytetään. Tyypillistä kuitenkin on se, että jokaisella erityyppisellä sovelluksella on jonkinlainen kontrolleri-luokka, joka ohjaa sen sovelluksen toimintaa, esim. jokainen appletti periyttää luokan Applet ja saa käyttöönsä init-, run- ja destroy-metodit, joihin varsinainen ohjelman logiikka sijoitetaan.

jokunen1 [17.06.2012 15:57:15]

#

Osut aika lailla oikeaan. Minkä lainen tämä ohjelma on haluaisin tehdä tämän tyypisen siis selaimeen upotetun ohjelman.

Pekka Karjalainen [17.06.2012 18:09:26]

#

Jos katsot sivun lähdekoodia, siellä on tällainen tagi:

<applet id="dust" width="400" height="456"
archive="/javagame/dust/9.1.4/dust.jar" code="dust.class">

Kyseessä on Javalla tehty applet. Ohjelman käännetty koodi on tiedostopaketissa dust.jar, johon viitataan archive-ominaisuudella. Voit itse tehdä samanlaisia ohjelmia sinulla jo olevilla työkaluilla, jos tutustut appletien tekoon sopivan oppaan avulla. Jos olet jo lukenut virallisia nykyään Oraclen sivuilla asuvia Java-oppaita, sieltä löytyvä applet-opas on varmasti hyvä tapa aloittaa.

http://docs.oracle.com/javase/tutorial/deployment/applet/

Jos et vielä ole lukenut näitä, kannattaa ehkä katsoa saman sivuston ihan alkeista alkavia oppaita ensin, ja sitten siirtyä näihin hieman edistyneempiin aiheisiin. Eräät peruskäsitteet pitää olla hallussa applet-asioista luettaessa. (Jos luet mieluummin muunlaisia oppaita, kerro minkälaisia haluaisit lukea.)

Appleteilla on omat ongelmansa. Niin kuin Grez jo sanoi: kaikki eivät voi ajaa tai suostu ajamaan Java-ohjelmia selaimessaan.

Sinulla olisi muitakin vaihtoehtoja tehdä selaimessa pelattavia pelejä, mutta jos nyt haluat Javaa opetella ja ohessa tehdä pieniä appletteja, on se varmasti ihan mukavaa puuhaa. Opettele kuitenkin muitakin tapoja käyttää Javaa, niin siitä on sinulle enemmän hyötyä :)

jokunen1 [18.06.2012 11:42:09]

#

Joo kitos piitää ruveta noistakin lukemaan nyt kun on lomalla aikaakin. :D


Sivun alkuun

Vastaus

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

Tietoa sivustosta