Java [1242]

Zapisz się
Dodaj kartkę Dodaj bana
Powód wlepienia kartki
Wybierz wątek docelowy z listy lub wpisz jego ID
  • Rafał

    "przenaszalnosc" javy polega na tym, ze nie wiem jak mam skompilowac program, tak zeby zrobic cos w rodzaju execa (kazdy debil klika i mu sie otwiera okienko)

    od biedy moglbym zrobic plik start.htm
    ale jak?

    musze cos pozmieniac w kodzie, ale co dokladnie?
  • Koziołek [brat Javowiec]

    aplet i aplikacja okienkowa mają zupełnie inną strukturę!

    Aplikacja:
    - klasa "bazowa" nie musi nic rozszerzać. Wystarczy że będzie zapierać metodę:
    public static void main(String[] args);
    - Okienkowość łączy się z koniecznością implementacji klasy rozszerzającej JFrame

    Aplet:
    - Klasa "bazowa" rozszerza klasę JAplet
    - Musi implementować jej metody start(), stop(), destroy(), init()
    - aplet nie zawiera klasy dziedziczących z JFrame

    Ok. Dobra wiadomość jest taka iż można upchnąć to w jedną klasę "bazową":

    public class MyAppAndApl{
    public static void main(String[] args){
    / / tu implementacja metody main
    }
    public void destroy() {
    }
    public void init() {
    }
    public void start() {
    }
    public void stop() {
    }
    }

    i w init() lekko przerabiasz wywołanie main()
  • Rafał

    mam klase aplikacje
    i kalkulator


    jak mam to polaczyc?

  • Koziołek [brat Javowiec]

    daj tu kod
  • Ja nie istnieje (FURBY)

    plik bat

    run.bat
    -------------------

    java mojprogs.java

    -------------------
    ;P
  • Rafał

    klasa aplikacji
    http://phpfi.com/203355
    klasa kalkulator
    http://phpfi.com/203354
  • szaryyy

    taka mała rada: gdybyś zrobił tablice buttonów to mógłbyś prawie o połowę kod skrócić.
  • Rafał

    jakbym potrafil programowac to by mnie tu nie bylo :(

    to moj pierwszy program w ogole
  • Ja nie istnieje (FURBY)

    no i nazywac te buttony moglbys po ludzku. chyba ze to od jakiegos designera bylo robione
  • Koziołek [brat Javowiec]

    >Rafał napisał
    >jakbym potrafil programowac to by mnie tu nie bylo :(
    >
    >to moj pierwszy program w ogole

    to dobrze że to napisałeś... ten kalkulator to przypadek beznadziejny niestety :(

    W jednej klasie upchnąłeś wszystko:) Dobre w C ale w javie się tak nie pisze. Co by Ci tu doradzić....

    Klasa kalkulator nie musi rozszerzać klasy JFrame. Niech inna klasa to robi. W niej zawrzyj tworzenie layoutu. W aplecie nie musisz używać JFrame ponieważ podstawową ramkę już masz.

    Następna sztuczka to stworzenie klasy abstrakcyjnej CalcButton będzie ona rozszerzać JButton i zawierać prywatną klasę abstrakcyjną CalcButtonAction która będzie implementować ActionListener.
    Kolejnym krokiem jest zamienienie potworków typu:
    JButton38.setText(",");
    JButton38.setBounds(new Rectangle(365, 305, 50, 50));
    JButton38.setSize(new Dimension(50, 50));
    JButton38.addActionListener(ne w ActionListener()
    {
    public void actionPerformed(ActionEvent e)
    {
    JButton38_actionPerformed(e);
    }
    });
    na osobne klasy rozszerzające CalcButton i CalcButtonAction. Następnie w konstruktorze wystarczy napisać np.
    public CalcButton1(){
    this.addActionListener(new CalcButtonAction1());
    }

    takie rzeczy jak ułożenie możesz wtedy dowolnie zmieniać....

    trochę pogmatwane ale będzie żyło :)
  • owczi

    Praktycznie wystarczy zmiana dziedziczenia głównej klasy z JFrame (swing) czy Frame (awt) na JApplet i zaimplementować metodę init() która rozpocznie pracę aplikacji.
  • Koziołek [brat Javowiec]

    > Praktycznie wystarczy zmiana dziedziczenia głównej klasy z JFrame (swing) czy Frame (awt) na JApplet i zaimplementować metodę init() która rozpocznie pracę aplikacji.

    ale tracisz "okienowość" programu i masz goły aplet
  • owczi

    Ja to wiem, ale afaik temat wątku to "gniot zaliczeniowy" :)
  • Ja nie istnieje (FURBY)

    niema to jak prosty naplet zaliczeniowy