Problem z apletem.

0

Witam wszystkich, mam następujący problem z apletem:
napisałem kod - klasę zegarek. Napisałęm drugą klasę dziedziczącą po Applet a w tej klasie stworzyłem obiekt Kalkulator. W programie wszystko działa, wyswietla sie applet i dodatkowe okienko - kalkulator. Natomiast na stronie www mam białę tło. Pokazuje ie ikonka ladowania apletu, akceptuje....i mam biały obszar. Możecie coś poradzić ?? Kod wygląda tak:

package Inne;

 
public class Kalkulator extends JFrame implements ActionListener{

kod..
    
    public Kalkulator(){

kod...
       
        setSize(420,220);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }
    
    public static void main(String[] args) {
        new Kalkulator().show();  
    }
        

}

oraz:

 
package Inne;

import java.applet.Applet;

public class AppletKalkulator extends Applet {

    public void init() {
        // TODO start asynchronous download of heavy resources
        
        try{
         
            Kalkulator nowy = new Kalkulator();
            add(nowy);
        }catch(Exception e){}
           this.setSize(420,220);
            this.setVisible(true);
    }
    // TODO overwrite start(), stop() and destroy() methods
}

Możecie coś poradzić??

1
        
try{
    Kalkulator nowy = new Kalkulator();
    add(nowy); //1
}catch(Exception e){//2}
this.setSize(420,220); //3
  1. Nie można dodawać obiektów typu JFrame do paneli, będzie błąd wykonania.
  2. Wyjątków się nie ignoruje, szczególnie gdy program nie działa.
  3. Rozmiar apletów ustala się w pliku HTML.
<applet code=... width="420" height="220">
</applet>
0

tego się obawiałem. Muszę całego mojego JFrame zamienić na JPanel ?

0

Tylko mam pytanko, czy jesteś pewny w 100% ze w aplecie nie może być JFrame ??

0

Przerobiłem na JPanel, czyli tak jak niby applet mieć powinen. W programie działa (w netbeansie), na stronie wyskakuje błąd: podaje link do mojej mini pracy:
http://student.pwsz.elblag.pl/~13892/lab1/lab1/JavaApplication6/build/Kalkulator.html

0

Żadnego błędu nie widzę, aplet nie działa. Na pewno masz taką strukturę plików i folderów na serwerze:
plik Calc.htm
plik /~13892/lab1/lab1/JavaApplication6/build/Inne/AppletKalkulator.class

0

Oczywiscie. Nawet na początku applet sięłąduje, jest ikonka javy ale potem jest białe tło. Może jest jakiś błąd z ustawieniem widoczności ? setVisible ?? (probowałem już z tą opcją, ale wolę się jeszcze podpytać). hmmm, albo może inne pomysły ??

0
bogdans napisał(a):

Żadnego błędu nie widzę, aplet nie działa. Na pewno masz taką strukturę plików i folderów na serwerze:
plik Calc.htm
plik /~13892/lab1/lab1/JavaApplication6/build/Inne/AppletKalkulator.class

a dokładnie .... build/classes/Inne/AppletKalkulator.class :)

Musi być jakiś balany błąd albo przeoczenie z tym apletem... tylko gdzie ????

0

w metodzie init, teraz zauwazylem ze jest blad:

public void init() {
    // TODO start asynchronous download of heavy resources
    
    try{

// setSize(400,160);
Kalkulator nowy = new Kalkulator();
add(nowy); //////////////////tutaj krzyczy kompilator

    }catch(Exception e){}
      // this.setSize(420,220);
        this.setVisible(true);
}
0

Napisałem w pierwszym poście, że ten wiersz jest błędny,

0

Znaczy się program już działa, jak chyba zauważyłeś. Dziękuję za twoje rady. Rozwiązaniem problemu okazało się: zmiana JFrame na JPanel :)
Ale, widziałem na necie, że można także do appletu wrzucać JFrame, wtedy korzystać z metody show(). No ale w chili obecnej tego nie potrzebuje, więc nie bede testował.

Pozdrawiam i dziękuje za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1