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!
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
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
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
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
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
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"
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:
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.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(); } } }
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
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
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:
Il metodo setBounds() serve a definire in un'unica soluzione posizione e dimensione e ha questa firma: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 ); } }
Era possibile farlo in due tempi specificanco la posizione con il metodo setLocation() e la dimensione con il metodo setSize().codice:public void setBounds(int posX, int posY, int larghezza, int altezza)
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
Ok grazie. Spero di riuscire a imparare anche un pò di Java visto che è molto richiesto..
Grazie x tutto..
Ciao![]()
Tony