Avatar billede nocol Nybegynder
18. august 2003 - 12:24 Der er 17 kommentarer

applet skabelon til brug på websider

Jeg ville hører om der var en venlig sjæl som ville lave følgende.

Jeg skal bruge en applet-skabelon til en webside. Aplleten skal bruges i samarbejde med en database - der skal være mulighed for at afkrydse ting og vælge ting. Så hvis nu at skabelonen indeholdt lad os sige 3 radiobuttons 3 scrolldowns textfelter og to tekstarea hvor det søgte kan komme frem - så ville jeg være yderst tilfreds - så kan jeg selv ændre i det og tilføke evt ting senere...

Det er vigtigt at jeg kan ligge scriptet ud på nettet og at det kan køre uden at en evt. bruger skal downloade div. JVM osv....

Håber der sidder en venlig sjæl derude somewhere...
Avatar billede 2c Nybegynder
18. august 2003 - 12:32 #1
Du kan ikke køre en applet uden en bruger har en JVM instaleret.
Avatar billede nocol Nybegynder
18. august 2003 - 12:39 #2
Jeg har hørt at hvis man laver det i AWT, hvis dette overhovedet er muligt, så behøver en masse brugere ikke at downloade JVM med de problemer det medfører...???
Avatar billede arne_v Ekspert
18. august 2003 - 12:47 #3
En Java applet kræver altid en JVM.

Alle versioner af Windows/IE undtagen nogle WinXP er shippet med
en MS JVM.

MS JVM er meget meget gammel.

Derfor er der mange som downloader og installerer SUN JVM.

SUN JVM bliver løbende opdateret.

Swing kører ikke pÅ MS JVM.

AWT kører på MS JVM.

MS har annonceret at de ikke vil distribuere MS JVM længere.

HP og Dell har annonceretr at de vil distriburere SUN JVM på
de maskiner de sælger (og det er en hel del !).
Avatar billede arne_v Ekspert
18. august 2003 - 12:48 #4
Generelt er det ikke særligt smart at lade en applet connecte direkte til en
database.

Normalt bruger man:

applet----(HTTP)----server side script PHP eller ASP eller JSP ----(?)----database

Dette af sikkerheds hensyn.
Avatar billede nmh Nybegynder
18. august 2003 - 12:49 #5
Win XP kan ikke køre java-applets, når man blot laver en sædvanlig installation.
Man skal opdatere hos sun.
www.sun.com (så vidt jeg husker)
derfor kan mange brugere idag ikke få afviklet jav-ting.
Avatar billede arne_v Ekspert
18. august 2003 - 12:50 #6
Hvis du henter en god Java IDE så kan drop and drag dine grafiske
komponenter ind på din applet.

NetBeans fra www.netbeans.org

Borland JBuilder Personal Edition fra www.borland.com

Oracle JDeveloper  fra www.oracle.com
Avatar billede arne_v Ekspert
18. august 2003 - 13:20 #7
Og det er nok det du skal.

Jeg kan godt lave en skabelon, men den kan du ikke bruge til ret meget.
Avatar billede arne_v Ekspert
18. august 2003 - 13:21 #8
Sådan ser det ud når JBuilder genererer noget kode:

package test;

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;

public class AppletSkeleton extends Applet {
  private boolean isStandalone = false;
  JRadioButton jRadioButton1 = new JRadioButton();
  JRadioButton jRadioButton2 = new JRadioButton();
  JRadioButton jRadioButton3 = new JRadioButton();
  JTextField jTextField1 = new JTextField();
  JTextField jTextField2 = new JTextField();
  JTextField jTextField3 = new JTextField();
  JTextArea jTextArea1 = new JTextArea();
  JTextArea jTextArea2 = new JTextArea();
  //Get a parameter value
  public String getParameter(String key, String def) {
    return isStandalone ? System.getProperty(key, def) :
      (getParameter(key) != null ? getParameter(key) : def);
  }

  //Construct the applet
  public AppletSkeleton() {
  }
  //Initialize the applet
  public void init() {
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  //Component initialization
  private void jbInit() throws Exception {
    jRadioButton1.setText("jRadioButton1");
    jRadioButton1.setBounds(new Rectangle(27, 5, 91, 23));
    jRadioButton2.setText("jRadioButton2");
    jRadioButton2.setBounds(new Rectangle(123, 5, 91, 23));
    jRadioButton3.setText("jRadioButton3");
    jRadioButton3.setBounds(new Rectangle(219, 5, 91, 23));
    jTextField1.setText("jTextField1");
    jTextField1.setBounds(new Rectangle(18, 60, 129, 21));
    jTextField2.setText("jTextField2");
    jTextField2.setBounds(new Rectangle(162, 60, 113, 21));
    jTextField3.setText("jTextField3");
    jTextField3.setBounds(new Rectangle(286, 61, 98, 21));
    jTextArea1.setText("jTextArea1");
    jTextArea1.setBounds(new Rectangle(18, 111, 170, 172));
    jTextArea2.setText("jTextArea2");
    jTextArea2.setBounds(new Rectangle(216, 112, 171, 175));
    this.setLayout(null);
    this.add(jRadioButton1, null);
    this.add(jRadioButton2, null);
    this.add(jRadioButton3, null);
    this.add(jTextArea1, null);
    this.add(jTextArea2, null);
    this.add(jTextField1, null);
    this.add(jTextField2, null);
    this.add(jTextField3, null);
  }
  //Get Applet information
  public String getAppletInfo() {
    return "Applet Information";
  }
  //Get parameter info
  public String[][] getParameterInfo() {
    return null;
  }
}
Avatar billede nocol Nybegynder
18. august 2003 - 15:00 #9
Arne..

Det kode du har lagt ind - er det klart til at blive smækket ud på nettet - hvis jeg nu ville det skulle være sådan?
Og hvis ja, hvad skal man så gøre for at få det lagt ud på nettet?

Du skriver:
Generelt er det ikke særligt smart at lade en applet connecte direkte til en
database.

Normalt bruger man:

applet----(HTTP)----server side script PHP eller ASP eller JSP ----(?)----database

Dette af sikkerheds hensyn.

Kan du uddybe det lidt mere??

Mht kontakt til den database - skal min computer så altid være tændt og online for at de kan komme i kontakt med selve databasen eller ligger man også den ud på nettet?
Avatar billede nocol Nybegynder
18. august 2003 - 15:12 #10
Hej igen Arne..

Hvis du gider må du meget gerne lave en skellet...Måske med lidt kommentar...Og helst uden det der package...Det kan jeg ikke helt finde ud af...Har fået det indsatte program til at virke og det er helt i den stil jeg havde tænkt mig - bare med lidt kommentar - og så man måke kan se tekstfeltet osv. Du må gerne lave udkommenterer programmet - altså så det næsten er skåret ud i pap :-) Her sæter du baggrundsfarven her sætter du farven på det og det, her sætter du størrelsen på tekstareaet osv...

Håber du gider..
Avatar billede arne_v Ekspert
18. august 2003 - 15:44 #11
Den kode er klar til at blive smidt på nettet.

*MEN* den laver jo ingenting !

Den skal jo lave noget for at det er sjovt.
Avatar billede arne_v Ekspert
18. august 2003 - 15:45 #12
Hvis ens applet connecter direkte til databasen, så skal database
brugernavn/password stå i applet'en.

Ondsindede personer kan downloade .class filen og decompile den og
læse brugernavn/password.

Derfor er det ikke noget godt approach.
Avatar billede arne_v Ekspert
18. august 2003 - 15:47 #13
Normalt vil databasen ligge på samme site som web-serveren - måske
endda samme maskine, men det er ikke nødvendigvis givet.

Hvis appletten skal connecte direkte til databasen, så skal den
ligge på samme server, da en applet kun har lov til at lave
connections til samme server som den er hentet fra.

Men som sagt gemmer man normalt databasen bag en web-applikation.
Avatar billede arne_v Ekspert
18. august 2003 - 16:12 #14
Den her version gør noget når man klikker på radio buttons:

package test;

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;

public class AppletSkeleton extends Applet implements ActionListener {
  private boolean isStandalone = false;
  //Declare GUI components
  JRadioButton jRadioButton1 = new JRadioButton();
  JRadioButton jRadioButton2 = new JRadioButton();
  JRadioButton jRadioButton3 = new JRadioButton();
  JTextField jTextField1 = new JTextField();
  JTextField jTextField2 = new JTextField();
  JTextField jTextField3 = new JTextField();
  JTextArea jTextArea1 = new JTextArea();
  JTextArea jTextArea2 = new JTextArea();
  //Get a parameter value
  public String getParameter(String key, String def) {
    return isStandalone ? System.getProperty(key, def) :
      (getParameter(key) != null ? getParameter(key) : def);
  }

  //Construct the applet
  public AppletSkeleton() {
  }
  //Initialize the applet
  public void init() {
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  //Component initialization
  private void jbInit() throws Exception {
    //Configure GUI components
    jRadioButton1.setText("jRadioButton1");
    jRadioButton1.setBounds(new Rectangle(27, 5, 91, 23));
    jRadioButton1.addActionListener(this);
    jRadioButton2.setText("jRadioButton2");
    jRadioButton2.setBounds(new Rectangle(123, 5, 91, 23));
    jRadioButton2.addActionListener(this);
    jRadioButton3.setText("jRadioButton3");
    jRadioButton3.setBounds(new Rectangle(219, 5, 91, 23));
    jRadioButton3.addActionListener(this);
    jTextField1.setText("jTextField1");
    jTextField1.setBounds(new Rectangle(18, 60, 129, 21));
    jTextField2.setText("jTextField2");
    jTextField2.setBounds(new Rectangle(162, 60, 113, 21));
    jTextField3.setText("jTextField3");
    jTextField3.setBounds(new Rectangle(286, 61, 98, 21));
    jTextArea1.setText("jTextArea1");
    jTextArea1.setBounds(new Rectangle(18, 111, 170, 172));
    jTextArea2.setText("jTextArea2");
    jTextArea2.setBounds(new Rectangle(216, 112, 171, 175));
    //Add GUI components to applet
    this.setLayout(null);
    this.add(jRadioButton1, null);
    this.add(jRadioButton2, null);
    this.add(jRadioButton3, null);
    this.add(jTextArea1, null);
    this.add(jTextArea2, null);
    this.add(jTextField1, null);
    this.add(jTextField2, null);
    this.add(jTextField3, null);
  }
  //Get Applet information
  public String getAppletInfo() {
    return "Applet Information";
  }
  //Get parameter info
  public String[][] getParameterInfo() {
    return null;
  }

  //Process radio button events
  public void actionPerformed(ActionEvent ev) {
    int rb;
    if(ev.getSource() == jRadioButton1) {
      rb = 1;
    } else if(ev.getSource() == jRadioButton2) {
      rb = 2;
    } else if(ev.getSource() == jRadioButton3) {
      rb = 3;
    } else {
      rb = 0;
    }
    jTextArea1.setText(jTextArea1.getText() + "\n" + rb);
  }
}
Avatar billede arne_v Ekspert
18. august 2003 - 16:13 #15
Men stadigvæk ikke noget der laver noget.
Avatar billede arne_v Ekspert
27. august 2003 - 23:46 #16
Kommet videre ?
Avatar billede arne_v Ekspert
10. september 2003 - 22:13 #17
??
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester