Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: HTML ikkunan avaus Java apletista

PaavoOR [25.04.2009 20:04:09]

#

Kuinka saan Java apletista avattua HTML sivun, eli siis että apletissa näkyisi linkki, mistä sivun voi avata?

janijohannes [25.04.2009 20:38:22]

#

Jaa-a.
Voisit tehdä funktion joka tekee tekstin jota klikattaessa se palauttaa esim. 1 ja sitten ifillä tarkistat. Jos se on tosi, käynnistät ohjelman.

Vähän sekava selitys, mutta, mutta...

Metabolix [25.04.2009 22:33:46]

#

JSObject-luokka päästää käsiksi JavaScriptiin ja sitä kautta siis osoitteeseenkin. En kuitenkaan lyhykäisellä etsinnällä löytänyt kyseisen luokan implementaatiota itseltäni tai muualtakaan.

JavaScriptin puolelta pääsee Java-sovelmaan käsiksi todella helposti. Itse siis sortuisin ehkä tällaiseen ratkaisuun:

// Appletti sisältää metodin, joka palauttaa uuden osoitteen.
// Jos linkkiä ei ole klikattu, paluuarvo on kuitenkin null.
class Linkkiohjelma extends Applet {
  private String uusi_osoite = null;
  public String uusiOsoite() {
    return uusi_osoite;
  }
  private void klikattuLinkkia(String linkin_osoite) {
    uusi_osoite = linkin_osoite;
  }
}
// Sivun latautuessa JS alkaa kysellä appletilta sekunnin välein,
// joko uusi osoite on tiedossa.
window.onload = function () {
  var obj = {
    applet: document.getElementById("appletti"),
    poll: function () {
      var s;
      try {
        s = this.applet.uusiOsoite();
      } catch (s) {
        s = null;
      }
      if (s && s.length) {
        window.location.href = s;
      } else {
        window.setTimeout(function(){obj.poll();}, 1000);
      }
    }
  }
  obj.poll();
}

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta