[ Miloš Baić @ 20.02.2006. 13:20 ] @
Ovako, napravio sam sledeće stvari, prva:
Code:
import javax.swing.*;
import java.awt.*;

public class MyApp {
 public static void main(String[] args) {
  MainFrame mf = new MainFrame();
  mf.setVisible(true);
 }
}

// snimio kao MyApp.java


druga:
Code:
import javax.swing.*;
import java.awt.*;

public class MainFrame extends JFrame {
 public MainFrame() {
  setSize(300, 200);
  setTitle("kkk");
 }
}

// snimio kao MainFrame.java


Posle u Command Prompt-u odradio "javac" za MyApp.java pa za MainFrame.java i dobio MyApp.class, MainFrame.class. Zatim, pokrenuo na osnovu "java MyApp" i kao rezultat dobio prozor?! Znači, to pokrećem samo iz Command Prompt-a (java MyApp) i dobijem Formu praznu. Kako bi mogao objediniti MyApp.java i MainFrame.java u jednu skriptu ( nešto.java ) i da odradim "javac"?
Zatim me zanima, da li bih od ovoga mogao napraviti .exe, da ne moram pokretati iz Command Prompt-a i isto za Linux, da ne pokrecem iz Shell-a?
[ Zoran Milosevic @ 20.02.2006. 15:35 ] @
Code:
 
import javax.swing.*;
import java.awt.*;

public class MyApp {
 public static void main(String[] args) {
  MainFrame mf = new MainFrame();
  mf.setVisible(true);
 }
}

class MainFrame extends JFrame {
  MainFrame() {
  setSize(300, 200);
  setTitle("kkk");
 }
}


pogledaj:

http://www.duckware.com/jexepack/index.html
[ Miloš Baić @ 20.02.2006. 17:58 ] @
Citat:
Zoran Milosevic:
Code:
 
import javax.swing.*;
import java.awt.*;

public class MyApp {
 public static void main(String[] args) {
  MainFrame mf = new MainFrame();
  mf.setVisible(true);
 }
}

class MainFrame extends JFrame {
  MainFrame() {
  setSize(300, 200);
  setTitle("kkk");
 }
}


Probao sam tako ali mi nije jasno zašto neće da iskompajlira, jedino kad rastavim?!
Pregledaću ovaj link...

Prilikom kompajliranja ovog koda:
Code:
import java.awt.*;
import javax.swing.*;

public class Multi1 {
 public static void main(String[] args) { 
   ConsoleReader user = new ConsoleReader(System.in);
    System.out.println("Koliko je 5 puta 10?");
      int odgovor = user.readInt();
           if (odgovor == 50)
             System.out.println("Tacno!");
           else
              System.out.println("Netacno!");
 }
}


prikazuje grešku u vezi ConsoleReader, da li treba da se doda nešto slično "import java.awt.*;" ?

[Ovu poruku je menjao loshmiscg dana 20.02.2006. u 18:59 GMT+1]
[ antix @ 20.02.2006. 18:10 ] @
ne sjecam se klase ConsoleReader u Java API!

treba da importujes tu klasu.

A ovo sto ti je Zoran predlozio trebalo bi da radi... samo pazi:
ne smiju obije klase da budu public! Mozda si ti tu napravio
gresku

pozdrav
[ Miloš Baić @ 20.02.2006. 18:21 ] @
Citat:
antix: ne sjecam se klase ConsoleReader u Java API! treba da importujes tu klasu.


Početnik sam, kao što sam rekao, kako da importujem? Nešto kao import java.awt.*;, kako to napisati za ConsoleReader?

[Ovu poruku je menjao loshmiscg dana 20.02.2006. u 19:22 GMT+1]
[ Miloš Baić @ 21.02.2006. 11:03 ] @
<ConsoleReader> je posebna klasa (poseban fajl), koliko sam skontao, treba je iskompajlirati pa tek onda importovati. Sad mi je problem kako to odraditi, jel zna neko? Ustvari, jel ima neko ConsoleReader.java da okači ili da ispiše kod?

[Ovu poruku je menjao loshmiscg dana 21.02.2006. u 14:08 GMT+1]
[ Zoro67 @ 21.04.2006. 20:30 ] @
Sa malim zakašnjenjem
klasa ConsoleReader
Code:
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.IOException;
/**
A class to read strings and numbers
from an input stream.
This class is suitable for
beginning Java programmers.
It constructs the necessary buffered
reader, handles I/O exceptions, and
converts strings to numbers.
*/
public class ConsoleReader
{ private BufferedReader reader;
/** Constructs a console reader from
an input stream such as System.in.
*/
public ConsoleReader(InputStream inStream)
{ reader =
new BufferedReader
(new InputStreamReader(inStream));
}
/** Read a line of input and
convert it into an integer.
*/
public int readInt()
{ String inputString = readLine();
int n = Integer.parseInt(inputString);
return n;
}
/** Reads a line of input and convert it
into a floating-point number.
*/
public double readDouble()
{ String inputString = readLine();
double x =
Double.parseDouble(inputString);
return x;
}
/** Read a line of input.
In the (unlikely) event of
an IOException, the program halts.
*/
public String readLine()
{ String inputLine = "";
try
{ inputLine = reader.readLine();
}
catch(IOException e)
{ System.out.println(e);
System.exit(1);
}
return inputLine;
}
}
[ Branko Santo @ 21.04.2006. 22:50 ] @
Citat:
antix: samo pazi:
ne smiju obije klase da budu public! Mozda si ti tu napravio
gresku

pozdrav


Pardon za off-topic ali sto ne mogu obe klase da budu public?
[ mikorkns @ 22.04.2006. 10:29 ] @
Mislio je u jednom fajlu, da dve klase u jednom fajlu ne mogu biti public. Moze biti samo jedna i njeno ime mora odgovarati imenu tog fajla u kojem se nalazi.

Pogresno (npr. fajl je Klasa1.java)
public class Klasa1 {...}
public class Klasa2 {...}

Pravilno (isto za fajl Klasa1.java)
public class Klasa1 {...}
class Klasa2 {...}
class Klasa3 {...}

Pozz.
[ Branko Santo @ 23.04.2006. 14:51 ] @
Vidi stvarno :)
Nisam nikad pokusavao da stavim dve klase u jedan file :)
Pa cak ni inner klase nesto ne volem, ali probah i ono stvarno ne moze.
Pretpostavicu da ne smeju biti obe public da bi compiler znao koju da kompajlira kao glavnu :P