|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 | ||
|
Senior Member
Iscritto dal: May 2004
Messaggi: 727
|
[Java]Convertire Applet in Applicazione
Ciao a tutti!
Come da titolo, avrei bisogno di convertire una applet in una applicazione; ho letto che devo creare un jframe che funga da contenitore, e copiare dentro il metodo 'init' del frame il contenuto dell'init dell'applet, ed inserire (sempre nel frame) gli altri metodi presenti nell'applet......Ma non funziona! questo è il codice dell'applet da convertire in applicazione: Quote:
Quote:
Ultima modifica di Voltron : 27-04-2007 alle 10:58. |
||
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
non vorrei deire una cavolata..
ma le Applet usano AWT, mentre il JFrame è un componente di swing... hai provato ad usare un Frame anzichè un JFrame?
__________________
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
La questione comunque è anche un'altra: la tua applet usa Swing oppure AWT?? Visto che estende Applet, io deduco AWT. Dal tuo codice poi non è possibile capire cosa sono GraphCanvas, RouteTable, ecc.... Una cosa del genere (codice non testato!): Codice:
import java.awt.*;
public class BellmanFord extends Frame
{
private GraphCanvas graphcanvas;
private Options options;
private Documentation documentation;
private RouteTable routeTable;
public BellmanFord ()
{
super ("Un titolo");
setSize (300, 300);
graphcanvas = new GraphCanvas(this);
options = new Options(this);
documentation = new Documentation(this);
routeTable = new RouteTable();
setLayout(new BorderLayout(10, 10));
add("Center", graphcanvas);
add("North", documentation);
add("East", options);
add("South", routeTable);
}
/* ...il resto... */
public static void main (String[] args)
{
BellmanFord frame = new BellmanFord ();
frame.setVisible (true);
}
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Prendi la classe BellmanFord e:
1. aggiungi agli import: import javax.swing.*; 2. cambia extends Applet in extends JFrame 3. nel costruttore aggiungi come ultima riga: init(); E qui hai fatto. Ora aggiungi al progetto una classe Main, così: Codice:
//package se c'è
import javax.swing.*;
public class Main {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Main().start();
}
});
}
private void start() {
BellmanFord window = new BellmanFord();
window.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
window.pack();
window.setVisible(true);
}
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
L'ho già detta quella del pulsantone con la scritta "hey, qualcuno ha già risposto...", vero?
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Sì ma non ti preoccupare .... come diceva il famoso spot: du risposte is megl che uan
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: May 2004
Messaggi: 727
|
Grazie a tutti!
Innanzitutto vi linko il sito dove ho prelevato l'applet che simula l'algoritmo di BellmanFord(magari può essere utile anche ad altri studenti): http://www.laynetworks.com/Simulatio...0Algorithm.htm quì troverete(mi riferisco soprattutto ad andbin che chiedeva informazioni su GraphCanvas, ecc.) gli altri files di cui è composta l'applet che non ho postato poichè molto lunghi. Comunque ritengo che l'applet usi awt. Ultima modifica di Voltron : 27-04-2007 alle 12:38. |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: May 2004
Messaggi: 727
|
Ora provo a testare il codice fornito da andbin....
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: May 2004
Messaggi: 727
|
Allora, ho compilato ed esguito il seguente codice(quello gentilmente fornito da andbin a cui ho aggiunto i metodi mancanti):
Quote:
|
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: May 2004
Messaggi: 727
|
Ho risolto il problema del mancato funzionamento dei pulsanti precedentemente menzionati rendendo 'pubblici' e non 'privati' i campi istanza della classe BellmanFord. Ora l'unico problema è riuscire a visualizzare correttamente la textarea che mostra ad ogni iterazione dell'algoritmo dei messaggi utili all'utente.
ecco uno screenshot che mostra il problema di visualizzazione: http://img143.imageshack.us/my.php?image=algomq4.jpg |
|
|
|
|
|
#11 | ||
|
Senior Member
Iscritto dal: May 2004
Messaggi: 727
|
Qualche "anima pia"
screenshot esemplificativo del problema: http://img143.imageshack.us/my.php?image=algomq4.jpg questo è il listato della classe frame: Quote:
Quote:
Ultima modifica di Voltron : 27-04-2007 alle 18:07. |
||
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
1. Prova a togliere il metodo insets() da BellmanFord
2. Non usare AWT
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: May 2004
Messaggi: 727
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:24.




















