Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [java - JApplet ] Input dati

    Salve a tutti.
    Ho un Applet che prende in input da un form due <input type="text"> e un <select>.
    Il percorso che facevo fare a questi dati era il seguente:
    pagina.html (contenente il form) -> pagina.php (contenente il passaggio dei dati del form e li mette dentro param per passarlo all'applet).
    Adesso dovrei modificare questo passaggio e prendere i dati in input senza dipendere da un server. Quindi credo che l'unica soluzione al mio problema sia quello di spostare queste richieste di dati dalla pagina html al codice java nella classe che estende JApplet.
    Come faccio a richiedere dei dati all'utente da dentro la classe che estende JApplet?
    Ho pensato e provato a generare un JFrame dove venivano richiesti i tre campi. Ma purtroppo mi spunta un java.lang.reflect.InvocationTargetException
    file mioApplet.java
    codice:
    class mioApplet extends JApplet
    {
       mioFrame mf=new mioFrame();
       public mioApplet()
       {
    
       }
        public void init()
       {
        mf.setVisible(true);
        }  
    
    }
    file index.html
    codice:
    <html>
    <head>
    </head>
    <body bgcolor="555555">
    <div align="center"><h1>PUNTO - PUNTINO</h1></div>
    <div align="center">
    <applet code="mioApplet.class" width=1070 height=580>
    </applet>
    </div>
    </body>
    </html>
    non vi posto il codice del JFrame perchè c'è solo un messaggio "Ciao Mondo"
    L'importante non è partecipare.. ma
    vincere!
    Errare Humanum EST, perseverare.. a OVEST!

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [java - JApplet ] Input dati

    Originariamente inviato da offlieman
    Adesso invece mi è stato chiesto di modificare questo passaggio e prendere i dati in input senza dipendere da un server. Quindi credo che l'unica soluzione al mio problema sia quello di spostare queste richieste di dati dalla pagina html al codice java nella classe che estende JApplet.
    Le possibilità sarebbero 2:
    a) Nella pagina c'è il <form> classico e la applet (nascosta o che mostri qualcos'altro, dipende). Al click di un pulsante, che potrebbe essere nel <form> (da JavaScript invochi qualcosa di Java nella applet) oppure nella applet (la applet invoca qualcosa per accedere alla pagina e al form), fai quello che devi fare.

    b) Il form è composto e gestito interamente dalla applet. La applet è sostanzialmente un "pannello" in cui puoi inserire e disporre (con le dovute tecniche) tutti i componenti AWT/Swing che vuoi (es. quelli Swing: JLabel, JTextField, ecc...).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Ok, ho optato per la (b)

    Adesso però combattendo con i JTextField e JList.
    In particolare ho questo:
    codice:
    private String[] elenco_punti= {"4","8","12","16","20","24","28","32","36","40","44","48"};
    public JList punti;
    punti= new JList(elenco_punti); // creo la lista
    punti.setVisibleRowCount(3); // La JList avrà sempre 3 elementi visibili
    punti.setSelectedIndex(4); // default 20 punti
    In questo modo seleziono per default il numero 20 ma la visualizzazione rimane ai primi 3 elementi (per intenderci con il numero 8 al centro).
    Esiste un comando per spostare la visualizzazione con il numero 20 al centro(che sarebbe quello selezionato) ?
    L'importante non è partecipare.. ma
    vincere!
    Errare Humanum EST, perseverare.. a OVEST!

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da offlieman
    Esiste un comando per spostare la visualizzazione con il numero 20 al centro(che sarebbe quello selezionato) ?
    JList ha un metodo ensureIndexIsVisible(int index) che già il nome mi sembra abbastanza eloquente. Funziona se il JList è dentro un JScrollPane (come in generale dovrebbe essere tipicamente).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Ehmm, credo di implementarlo giusto.
    codice:
    private String[] elenco_punti= {"4","8","12","16","20","24","28","32","36","40","44","48"};
    public JList punti;
    punti= new JList(elenco_punti); // creo la lista
    punti.setVisibleRowCount(3); // La JList avrà sempre 3 elementi visibili
    punti.setSelectedIndex(4); // default 20 punti
    JPanel area_scelta=new JPanel();
    area_scelta.add(new JScrollPane(punti));
    Sbaglio ad utilizzarlo così?
    L'importante non è partecipare.. ma
    vincere!
    Errare Humanum EST, perseverare.. a OVEST!

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da offlieman
    Ehmm, credo di implementarlo giusto.
    Sbaglio ad utilizzarlo così?
    Questo codice mi pare corretto, almeno tecnicamente.
    Cosa fa di sbagliato o non fa rispetto a quello che ti aspettavi?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    - cosa spunta a schermo:

    menu con scroll:
    numero voci visibili: 3
    voci in primo piano: 4,8,12
    voce selezionata: 20

    - cosa vorrei far spuntare:

    menu con scroll:
    numero voci visibili: 3
    voci in primo piano: 16,20,24
    voce selezionata: 20
    L'importante non è partecipare.. ma
    vincere!
    Errare Humanum EST, perseverare.. a OVEST!

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da offlieman
    - cosa spunta a schermo:

    menu con scroll:
    numero voci visibili: 3
    voci in primo piano: 4,8,12
    voce selezionata: 20

    - cosa vorrei far spuntare:

    menu con scroll:
    numero voci visibili: 3
    voci in primo piano: 16,20,24
    voce selezionata: 20
    Prima ho detto che c'è ensureIndexIsVisible(int index). Questo metodo non garantisce in quale posizione fisica "visibile" sarà visualizzato l'elemento all'indice index passato al metodo! Assicura solo che di certo sarà visibile.

    Quindi per riassumere: se ti va bene che a video si veda 12 16 20 oppure 16 20 24 oppure 20 24 28, allora usa ensureIndexIsVisible(4).

    Se invece vuoi che il 20 sia davvero sicuramente in mezzo .... beh, c'è da fare qualcosa di più.

    Comunque se usi ensureIndexIsVisible(4) appena dopo aver messo il JList nel JScrollPane, salterà fuori quasi di certo (prova ma credo proprio di sì) la terza situazione, 20 24 28.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.