Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179

    Classi e Ereditarietà

    Scusate come si fà a ereditare la classe applet e la classe jframe contemporaneamente per lo sviluppo di un'applet?
    la classe base deve ereditare entrambi...

    potete farmi un'esempio pratico?

    GRazie!
    Tony

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Semplice: non si può.
    In Java l'ereditarietà non può essere multipla. Per questo esistono le interfacce.
    Credo, però, che il tuo problema sia risolvibile in modo diverso... prova a spiegare quello che vuoi fare.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    Vorrei fare un semplicissmo applet.
    La prima cosa da fare però è creare un frame...
    la mia classe base eredita JFrame...
    Ma se eredita anche Applet...
    Sto studiando Java ma lo trovo molto + complesso in confronto a vb.net
    Tony

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    il JFrame è, praticamente, una finestra di un'applicazione desktop
    se parli di applet, vuol dire che deve stare in una pagina web
    sono entrambi dei contenitori, uno per le applicazioni desktop, uno per le pag web
    non vedo un motivo per dover usare un JFrame in un'applet

  5. #5
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    porca miseria...

    la vedo dura!!!

    Cmq sta di fatto che java è + complicato di vb.net

    Grazie ho capito

    ma se avessi bisogno di un frame interno?
    Tony

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Un frame interno all'applet (JInternalFrame) oppure di aprire un nuovo frame (flottante e a tutti gli effetti una finestra esterna all'applet anche se da questa dipende - JFrame)?

    Guarda un po' la carrellata di componenti Swing che trovi al sito della sun
    http://java.sun.com
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Nessuno ti vieta di creare un'applet che apre una finestra. La tua applet non deve per forza essere limitata ad una classe e anche se fosse, puoi sempre crearti delle classi interne:
    codice:
    public class MioFrame extends JFrame {
       public MioFrame() {
          setTitle("Titolo");
          setSize(800, 600);
          setDefaultCloseOperation(HIDE_ON_CLOSE);
          setVisible( true );
       }
    }
    
    public class MiaApplet extends JApplet {
       public void run() {
          try {
             MioFrame mf = new MioFrame();
          } catch (Exception e) { e.printStackTrace(); }
       }
    }
    Java non è più complicato di VB.NET... è semplicemente diverso e sposa maggiormente la filosofia Object-Oriented. Se si è abituati a programmare in VB (.NET o meno) non si è certo abituati a programmare così puramente ad oggetti.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    Ultima cosa:

    Come posso fare per inserire un pulsante in una determinata posizione o coordinata?
    Con vb.net basta cambiare valore nella proprietà location
    Tony

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Per far questo bisogna togliere di mezzo il LayoutManager.
    Un LayoutManager è un "componente" che si occupa di gestire automaticamente il posizionamento e la dimensione degli oggetti che vengono aggiunti al Container. Esistono diversi LayoutManager che si rivolgono a diverse esigenze.

    Per togliere il LayoutManager e gestire autonomamente posizionamento e dimensione dei componenti è sufficiente apportare una modifica al costruttore del JFrame di esempio che ho postato sopra:
    codice:
    public class MioFrame extends JFrame {
       private JButton pulsante;
       public MioFrame() {
          Container c = getContentPane();   // Ottengo il contenitore per questo JFrame
          c.setLayout( null );   // Tolgo di mezzo il LayoutManager
    
          // Se ora voglio aggiungere un pulsante alla coordinata (50, 30),
          // con le dimensioni (larghezza=200, altezza=40)
          pulsante = new JButton("Ecco il pulsante");
          pulsante.setBounds(50, 30, 200, 40);
    
          // Aggiungiamo il pulsante al contenitore
          c.add( pulsante );
    
          setTitle("Titolo");
          setSize(800, 600);
          setDefaultCloseOperation(HIDE_ON_CLOSE);
          setVisible( true );
       }
    }
    Il metodo setBounds() serve a definire in un'unica soluzione posizione e dimensione e ha questa firma:
    codice:
    public void setBounds(int posX, int posY, int larghezza, int altezza)
    Era possibile farlo in due tempi specificanco la posizione con il metodo setLocation() e la dimensione con il metodo setSize().


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  10. #10
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    Ok grazie. Spero di riuscire a imparare anche un pò di Java visto che è molto richiesto..

    Grazie x tutto..

    Ciao
    Tony

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.