-
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ł
-
Koziołek [brat Javowiec]
-
-
Ja nie istnieje (FURBY)
plik bat
run.bat
-------------------
java mojprogs.java
-------------------
;P -
Rafał
-
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 nie istnieje (FURBY)
- Przeglądaj grona w kategorii Internet i Komputery
- Przeglądaj grona w okolicy Warszawa
- Załóż własne grono tematyczne
- Zostań moderatorem
Podobne Tematy
|
|
Wszystko co związane z programowaniem w Java (J2EE, JSP, JDBC, itd) test
Miejsca grona (1)
-
Kino Luna ul. Marszałkowska, Warszawa
www.kinoluna.pl kino.luna@maxfilm.com.pl 22 621 78 28
- Dodaj miejsce

