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?
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?
TAK :)
Uprzedzam pytanie: A jak to zrobić w Javie?
Desktop.getDesktop().browse(new URI("www.google.pl"));
Uzyta zostanie domyslna przegladarka.
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?
Nie pisałeś, że chodzi o aplet.
URL url=new URL("www.google.pl");
getAppletContext().showDocument(url);
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...
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);
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?
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.
@kerad-85 mylisz się, niepodpisany aplet nie może wywołać Desktop.getDesktop().browse(new URI("http://www.google.pl"));