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

    [frame] problemi esecuzione

    Ciao, sono un neofita delle interfacce grafiche in Java.
    Mi sto avventurando tra le applet e i frame..

    Ho provato alcuni programmi tratti da un libro (per cui sono per forza corretti, infatti me li compila benissimo)
    Il mio problema è eseguirli: ho provato con java NomeFile.java, facendo doppio click sul .class, creando un file .jar mettendoli dentro un applet e facendoli aprire con qppletviewer o con un browser tradizionale ma niente.
    il file si apre e si chiude immediatamente.
    c'è un altro modo di mandarli in esecuzione??


    Sono sotto MacOS X.4.9 con la JDK correttamente installata.

    ecco un esempio di file che mi da problemi (ma la compilazione va benissimo):
    codice:
    import java.awt.*;
    import java.awt.event.*;
    
    public class Scheda extends Frame {
    	private String testo = "";
    	private boolean strCompleta;
    	private int offset;
    	
    	public Scheda(){
    		super("Scheda Opera");
    		setBounds(200, 60, 400, 100);
    		setVisible(true);
    		AdpFrame adpW = new AdpFrame();
    		addWindowListener(adpW);
    		AdpKeyBoard adpKB = new AdpKeyBoard();
    		addKeyListener(adpKB);
    	}
    	
    	public void compilaScheda(){
    		offset = 30;
    		for(int i = 0; i < 3; i++){
    			testo = ">> ";
    			offset += 20;
    			repaint();
    			strCompleta = false;
    			while(!strCompleta){}
    		}
    	}
    	
    	public void paint (Graphics g){
    		Graphics2D g2 = (Graphics2D) g;
    		g2.setPaint (Color.red);
    		g2.setFont(new Font("Helvetica", Font.BOLD, 10));
    		g2.drawString("Autore", 10, 50);
    		g2.drawString("Titolo", 10, 70);
    		g2.drawString("Collocazione", 10, 90);
    		g2.setPaint(Color.blue);
    		g2.setFont(new Font("Serif", Font.PLAIN,10));
    		g2.drawString(testo, 100, offset);
    	}
    	
    	public void update(Graphics g){
    		paint(g);
    	}
    	
    	class AdpKeyBoard extends KeyAdapter{
    		public void keyTyped (KeyEvent ev){
    			testo += ev.getKeyChar();
    			repaint();
    		}
    		
    		public void keyPressed(KeyEvent ev){
    			if (ev.getKeyCode() == '\n')
    			strCompleta=true;
    		}
    	}
    	
    	 class AdpFrame extends WindowAdapter{
    
    	public void windowClosing (WindowEvent ev){
    		ev.getWindow().dispose();
    	}
    	
    	public void windowClosed(WindowEvent ev){
    		System.exit(0);
    	}
    }
    
    
    }
    Grazie anticipatamente

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

    Re: [frame] problemi esecuzione

    Originariamente inviato da cmboni
    Il mio problema è eseguirli: ho provato con java NomeFile.java, facendo doppio click sul .class, creando un file .jar mettendoli dentro un applet e facendoli aprire con qppletviewer o con un browser tradizionale ma niente.
    il file si apre e si chiude immediatamente.
    c'è un altro modo di mandarli in esecuzione??
    Il sorgente che hai scritto non è per una applicazione (perché non ha definito il metodo statico main) e nemmeno per una applet (perché non estendi java.applet.Applet oppure javax.swing.JApplet).

    Per le applet vedi il tutorial ufficiale qui
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326

    Re: Re: [frame] problemi esecuzione

    Originariamente inviato da andbin
    Il sorgente che hai scritto non è per una applicazione (perché non ha definito il metodo statico main) e nemmeno per una applet (perché non estendi java.applet.Applet oppure javax.swing.JApplet).

    Per le applet vedi il tutorial ufficiale qui
    Oltre a questo, anche se fosse un'applicazione dovresti digitare nella console il comando:
    codice:
    java NomeClasse
    (con le maiuscole al posto giusto e senza alcuna estensione).
    I file che vengono eseguiti sono i .class, i sorgenti (.java) servono solo per generare i .class, le applet si eseguono all'interno di un browser oppure utilizzando l'utility appletviewer installato automaticamente con il JDK.


    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

  4. #4
    sì per l'esecuzione del codice è senza il .java, ho sbagliato a scrivere.
    sembrava strano anche a me che potesse funzionare anche senza il main() e senza extends Applet
    ma sul libro è così...
    boh, me lo moificherò un po'...

    grazie

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.