è al post precedente,
www.java.com
c'è il link per il download sulla destra.
Saluti!
è al post precedente,
www.java.com
c'è il link per il download sulla destra.
Saluti!
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Originariamente inviato da LeleFT
Io l'ho provata con AppletViewer... basta che vai al prompt dei comandi, nella posizione dove hai il file .html che dovrebbe far partire l'applet e digiti la seguente riga di codice:
appletviewer è un comando messo a disposizione dalla JDK che serve a visualizzaer le applet senza dover avviare il browser. Molto utile quando il browser non è configurato per adoperare la JRE della Sun, ma la Microsoft VM (per default).codice:appletviewer nomefile.html
Ciao.![]()
Con l'applet viewer mi da il seguente errore:
E mi visualizza la finestrella bianca tranne che per l'ultima riga in cui mi dice "Avvio: applet non inizializzato".codice:C:\java\applet>appletviewer applet.html Avviso: Impossibile leggere il file di proprietÓ di AppletViewer: D:\Documents a nd Settings\root\.hotjava\properties verranno utilizzati i valori di default. prova java.lang.Error: Do not use applet.add() use applet.getContentPane().add() inste ad at javax.swing.JApplet.createRootPaneException(JApplet.java:203) at javax.swing.JApplet.addImpl(JApplet.java:225) at java.awt.Container.add(Container.java:307) at applet.init(applet.java:19) at sun.applet.AppletPanel.run(AppletPanel.java:353) at java.lang.Thread.run(Thread.java:534)
Cosa può essere?
Significa che AppletViewer non funziona correttamente (o non è configurato correttamente)... lo dava anche a me quel messaggio in una macchina (ora non ricordo dove).
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
Ecco quindi come risolvo il problema? devo scaricare la jre? ma non dovrebbe già essere inclusa nell'sdk che utilizzo per compilare ?Originariamente inviato da LeleFT
Significa che AppletViewer non funziona correttamente (o non è configurato correttamente)... lo dava anche a me quel messaggio in una macchina (ora non ricordo dove).
Ciao.![]()
Sì... è già inclusa... quello che mi sento di consigliarti è di provare l'applet in un'altra macchina.
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
Anche perchè l'applet di prova del mio libro me la apre senza problemi, ed è la seguente:Originariamente inviato da LeleFT
Sì... è già inclusa... quello che mi sento di consigliarti è di provare l'applet in un'altra macchina.
Ciao.![]()
L'unica cosa che mi lascia pernsare è che sul pannelo di controllo di java se selziono mozzilla come browser (firefox dovrebbe essere mozzilla alla fin fine no?) mi dice che non è installato.. ma in ogni caso altre applet firefox me le visualizza!codice:import java.awt.Color; import java.awt.Graphics; import java.util.Date; import javax.swing.JApplet; public class ClockApplet extends JApplet implements Runnable { public ClockApplet() { clockFace = ""; } public void init() { updateThread = null; } public void start() { if(updateThread == null) { updateThread = new Thread(this); updateThread.start(); } } public void run() { Thread thread = Thread.currentThread(); do { if(updateThread != thread) break; try { Thread _tmp = thread; Thread.sleep(100L); } catch(InterruptedException interruptedexception) { break; } repaint(); } while(true); } public void paint(Graphics g) { Date date = new Date(); g.setColor(Color.WHITE); g.drawString(clockFace, 10, 20); clockFace = date.toString(); g.setColor(Color.BLUE); g.drawString(clockFace, 10, 20); } public void stop() { updateThread = null; } private Thread updateThread; private String clockFace; }
Cmq ho appena eseguito il test del sito di java e mi dice che è tutto installato correttamente..
Ho cambiato il nome dell'applet e adesso va, probabilmente era un nome riservato.
Voglio chiedervi un ultima cosa e poi smetto di rompere.. almeno su questo argomento![]()
Come si fa ad utilizzare in un applet l'ActionListener, insomma per ricevere input dai vari oggetti ?
Se sareste cosi gentili da tradurmi un programma tipo questo in modo da farlo funzionare in un applet (magari con qualche spiegazione) ve ne sarei grato!
Grazie mille in anticipo,codice://Includo le librerie per l'interfaccie grafiche import javax.swing.*; import java.awt.*; import java.awt.event.*; //Creo la classe con gli oggetti frafici public class grafica implements ActionListener { //Variabili per settare il Layout private static final int WINDOW_WIDTH = 500; //pixel private static final int WINDOW_HEIGHT = 150;//pixel private static final int FIELD_WIDTH = 20; // caratteri private static final int AREA_WIDTH = 40; // caratteri //private static final FlowLayout LAYOUT_STYLE = // new FlowLayout(); private static final SpringLayout LAYOUT_STYLE = new SpringLayout(); private static final String INTESTAZIONE = "Inserisci i due numeri da sommare:"; private static final String SPAZIO = ""; //finestra per l'interfaccia grafica private JFrame window = new JFrame("grafica.class"); //Stampo l'intestazione private JTextArea intarea = new JTextArea(INTESTAZIONE, 2, AREA_WIDTH); private JTextArea vuoto = new JTextArea(SPAZIO, 2, AREA_WIDTH); //Campo per l'inserimento del primo num private JLabel primoTag = new JLabel(" Primo numero"); private JTextField primoText = new JTextField(FIELD_WIDTH); //Campo per l'inserimento del secondo numero private JLabel secondoTag = new JLabel(" Secondo numero"); private JTextField secondoText = new JTextField(FIELD_WIDTH); //Campo per il risultato private JLabel sommaTag = new JLabel(" Risultato"); private JTextField sommaText = new JTextField(FIELD_WIDTH); //pulsante di esecuzione private JButton run = new JButton("Somma"); public grafica(){ //configura GUI window.setSize(WINDOW_WIDTH, WINDOW_HEIGHT); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.setResizable(false); intarea.setEditable(false); intarea.setLineWrap(true); intarea.setWrapStyleWord(true); intarea.setBackground(window.getBackground()); vuoto.setEditable(false); vuoto.setLineWrap(true); vuoto.setWrapStyleWord(true); vuoto.setBackground(window.getBackground()); sommaText.setEditable(false); sommaText.setBackground(Color.WHITE); //Registra il rilevatore di eventi run.addActionListener(this); //aggiunge i componenti alla finestra Container c = window.getContentPane(); //c.setLayout(LAYOUT_STYLE); c.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); c.setLayout(new GridLayout(0,2)); c.add(vuoto); c.add(intarea); c.add(primoText); c.add(primoTag); c.add(secondoText); c.add(secondoTag); c.add(sommaText); c.add(sommaTag); c.add(run); //visualizza GUI window.show(); } //Gestore degli eventi public void actionPerformed(ActionEvent e){ //recupera le risposte dell'utente String response1 = primoText.getText(); double p = Double.parseDouble(response1); String response2 = secondoText.getText(); double s = Double.parseDouble(response2); //visualizza somma double Doutput = p + s; String output = String.valueOf(Doutput); sommaText.setText(output); } //main, punto d'ingresso dell'applicazione public static void main(String[] args) { grafica gui = new grafica(); } }
Guylmaster.
come vedrai c'è poco da commentare
ho semplicemente trasformato window da JFrame a JPanel, eliminato il metodo main, rinominato il costruttore, aggiunto tutti gli elementi a window direttamente e quindi aggiunto window all'applet (si poteva anche impostare il layout manager all'applet ed aggiungere i componenti alla stessa...).codice:import javax.swing.*; import java.awt.*; import java.awt.event.*; //Creo la classe con gli oggetti frafici public class grafica extends JApplet implements ActionListener { //Variabili per settare il Layout private static final int WINDOW_WIDTH = 500; //pixel private static final int WINDOW_HEIGHT = 150;//pixel private static final int FIELD_WIDTH = 20; // caratteri private static final int AREA_WIDTH = 40; // caratteri //private static final FlowLayout LAYOUT_STYLE = // new FlowLayout(); private static final SpringLayout LAYOUT_STYLE = new SpringLayout(); private static final String INTESTAZIONE = "Inserisci i due numeri da sommare:"; private static final String SPAZIO = ""; //finestra per l'interfaccia grafica private JPanel window = new JPanel(); //Stampo l'intestazione private JTextArea intarea = new JTextArea(INTESTAZIONE, 2, AREA_WIDTH); private JTextArea vuoto = new JTextArea(SPAZIO, 2, AREA_WIDTH); //Campo per l'inserimento del primo num private JLabel primoTag = new JLabel(" Primo numero"); private JTextField primoText = new JTextField(FIELD_WIDTH); //Campo per l'inserimento del secondo numero private JLabel secondoTag = new JLabel(" Secondo numero"); private JTextField secondoText = new JTextField(FIELD_WIDTH); //Campo per il risultato private JLabel sommaTag = new JLabel(" Risultato"); private JTextField sommaText = new JTextField(FIELD_WIDTH); //pulsante di esecuzione private JButton run = new JButton("Somma"); public void init() { //configura GUI window.setSize(WINDOW_WIDTH, WINDOW_HEIGHT); //window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //window.setResizable(false); intarea.setEditable(false); intarea.setLineWrap(true); intarea.setWrapStyleWord(true); intarea.setBackground(window.getBackground()); vuoto.setEditable(false); vuoto.setLineWrap(true); vuoto.setWrapStyleWord(true); vuoto.setBackground(window.getBackground()); sommaText.setEditable(false); sommaText.setBackground(Color.WHITE); //Registra il rilevatore di eventi run.addActionListener(this); //aggiunge i componenti alla finestra //Container c = window.getContentPane(); //c.setLayout(LAYOUT_STYLE); window.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); window.setLayout(new GridLayout(0,2)); window.add(vuoto); window.add(intarea); window.add(primoText); window.add(primoTag); window.add(secondoText); window.add(secondoTag); window.add(sommaText); window.add(sommaTag); window.add(run); //visualizza GUI getContentPane().add(window); } //Gestore degli eventi public void actionPerformed(ActionEvent e){ //recupera le risposte dell'utente String response1 = primoText.getText(); double p = Double.parseDouble(response1); String response2 = secondoText.getText(); double s = Double.parseDouble(response2); //visualizza somma double Doutput = p + s; String output = String.valueOf(Doutput); sommaText.setText(output); } //main, punto d'ingresso dell'applicazione }
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
C'è qualcosa che non va, il codice me lo compila ma questa volta mi appare una bella X rossa e non me la carica.. questa volta che può essere?Originariamente inviato da Andrea1979
come vedrai c'è poco da commentare
ho semplicemente trasformato window da JFrame a JPanel, eliminato il metodo main, rinominato il costruttore, aggiunto tutti gli elementi a window direttamente e quindi aggiunto window all'applet (si poteva anche impostare il layout manager all'applet ed aggiungere i componenti alla stessa...).codice:import javax.swing.*; import java.awt.*; import java.awt.event.*; //Creo la classe con gli oggetti frafici public class grafica extends JApplet implements ActionListener { //Variabili per settare il Layout private static final int WINDOW_WIDTH = 500; //pixel private static final int WINDOW_HEIGHT = 150;//pixel private static final int FIELD_WIDTH = 20; // caratteri private static final int AREA_WIDTH = 40; // caratteri //private static final FlowLayout LAYOUT_STYLE = // new FlowLayout(); private static final SpringLayout LAYOUT_STYLE = new SpringLayout(); private static final String INTESTAZIONE = "Inserisci i due numeri da sommare:"; private static final String SPAZIO = ""; //finestra per l'interfaccia grafica private JPanel window = new JPanel(); //Stampo l'intestazione private JTextArea intarea = new JTextArea(INTESTAZIONE, 2, AREA_WIDTH); private JTextArea vuoto = new JTextArea(SPAZIO, 2, AREA_WIDTH); //Campo per l'inserimento del primo num private JLabel primoTag = new JLabel(" Primo numero"); private JTextField primoText = new JTextField(FIELD_WIDTH); //Campo per l'inserimento del secondo numero private JLabel secondoTag = new JLabel(" Secondo numero"); private JTextField secondoText = new JTextField(FIELD_WIDTH); //Campo per il risultato private JLabel sommaTag = new JLabel(" Risultato"); private JTextField sommaText = new JTextField(FIELD_WIDTH); //pulsante di esecuzione private JButton run = new JButton("Somma"); public void init() { //configura GUI window.setSize(WINDOW_WIDTH, WINDOW_HEIGHT); //window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //window.setResizable(false); intarea.setEditable(false); intarea.setLineWrap(true); intarea.setWrapStyleWord(true); intarea.setBackground(window.getBackground()); vuoto.setEditable(false); vuoto.setLineWrap(true); vuoto.setWrapStyleWord(true); vuoto.setBackground(window.getBackground()); sommaText.setEditable(false); sommaText.setBackground(Color.WHITE); //Registra il rilevatore di eventi run.addActionListener(this); //aggiunge i componenti alla finestra //Container c = window.getContentPane(); //c.setLayout(LAYOUT_STYLE); window.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); window.setLayout(new GridLayout(0,2)); window.add(vuoto); window.add(intarea); window.add(primoText); window.add(primoTag); window.add(secondoText); window.add(secondoTag); window.add(sommaText); window.add(sommaTag); window.add(run); //visualizza GUI getContentPane().add(window); } //Gestore degli eventi public void actionPerformed(ActionEvent e){ //recupera le risposte dell'utente String response1 = primoText.getText(); double p = Double.parseDouble(response1); String response2 = secondoText.getText(); double s = Double.parseDouble(response2); //visualizza somma double Doutput = p + s; String output = String.valueOf(Doutput); sommaText.setText(output); } //main, punto d'ingresso dell'applicazione }
hai cambiato il nome nel file html?
la classe si chiama grafica... per cui dovrebbe essere qualcosa del genere
Saluticodice:<html> <body> <applet width="500" height="150" code="grafica.class"></applet> </body> </html>
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"