przekierowanie na strone www

0

Mam dwie opcje 1 i 0

if(a==1)
{
//tu chciałbym wstawić kod przenoszący mnie na strunę np www.google.pl
}

Czy jest to do wykonania w javie?

0

TAK :)

0

Uprzedzam pytanie: A jak to zrobić w Javie?

Desktop.getDesktop().browse(new URI("www.google.pl"));

Uzyta zostanie domyslna przegladarka.

0

W Netbeansie działa dobrze ale gdy odpalę ten aplet na stronie www i wcisnę odpowiedni przycisk nie przenosi mnie na inną stronę www. Jaka może być tego przyczyna?

0

Nie pisałeś, że chodzi o aplet.

URL url=new URL("www.google.pl");
getAppletContext().showDocument(url);
0

Zacznę od początku bo nieźle namieszałem :) Jeśli chodzi o kod programu to korzystałem z poradnika...

W netbeansie mam plik JAplet a oto kod

 import javax.swing.JApplet;


public class PuzzleAplet extends JApplet {

 @Override
    public void init() {
    

     setSize(600,450);
       PuzzlePanel pp = new PuzzlePanel();
      add(pp);

    } 

Następnie mam plik Java Class a w nim mój kod (podam tylko część bo szkoda marnować miejsce na 300 linijek)

 if(ulozone==true)

{

 Object[] options = {"Strona Główna",
                    "Restart"};
int n = JOptionPane.showOptionDialog(frame,
    "zzz ",
    "Gratulacje",
    JOptionPane.YES_NO_OPTION,
    JOptionPane.QUESTION_MESSAGE,
    null,
    options,
    options[0]);

        if (n==0)
        {





        }

        else {  }

i ta funkcja podana przez Pana wyżej nie działa. Może ktoś mi jednak pomoże...

2

Ty podawałeś częściowe informacje, a ja wpisywałem błędny adres.
Dla aplikacji desktopowej zadziała

Desktop.getDesktop().browse(new URI("http://www.google.pl"));

Aplet ma ograniczone możliwości i powyższego kodu nie może wykonać.
Dla klasy dziedziczącej po klasie Applet lub JApplet działa

   URL url=new URL("http://www.google.pl");
   getAppletContext().showDocument(url);

W Twoim programie (zbudowanym z dwóch klas, z których jedna jest apletem, a druga ma otworzyć stronę) trzeba zrobić tak: Do klasy, która ma się łączyć z wujkiem googlem
przekaż referencję do klasy PuzzleAplet.

   PuzzlePanel pp=new PuzzlePanel(this);
   //w klasie PuzzlePanel zdefiniuj pole
   PuzzleAplet aplet;
   //konstruktor klasy PuzzlePanel zdefiniuj tak
   public PuzzlePanel(PuzzleAplet aplet)
   {
       this.aplet=aplet;
   }
   //strone otwieraj tak
   URL url=new URL("http://www.google.pl");
   aplet.getAppletContext().showDocument(url);
0

No i dalej nic ale już to zostawmy. Mam jeszcze jedno pytanie, a mianowicie czy istnieje w javie funkcja która odświeży stronę www?

0

oba rozwiązania są poprawne, pierwsze: Desktop.getDesktop().browse(new URI("http://www.google.pl")); działa również w aplecie z tym że nowe okno otwiera zawsze w domyślnej przeglądarce (a takie zachowanie jest czasem niepożądane ), drugie rozwiązanie:
URL url=new URL("http://www.google.pl");
getAppletContext().showDocument(url);
otworzy aplet w bierzącym oknie, w którym znajdował się aplet.

0

@kerad-85 mylisz się, niepodpisany aplet nie może wywołać Desktop.getDesktop().browse(new URI("http://www.google.pl"));

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