Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683

    requisti per far andare un applicazione sul web

    ciao a tutti!!
    Mi sto cimentando un pò con il java e avrei alcune domande..
    1) quali sono i requisiti per poter fare andare un'applicazione anche sul web?
    ho questo semplice script che abbraccia un pochino le cose che so.. si può scrivere in una textarea e premendo il bottone quello che si scrive appare nella label.. però mi da errore se lo includo in una pagina html...

    codice:
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.*;
    
    public class Main
    {
    	public static void main(String[] args)
    	{
    		JFrame frame = new JFrame("Test");
    		frame.setVisible(true);
    		frame.setSize(500,150);
    		//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
                    JPanel panel = new JPanel();
                    final JLabel label = new JLabel("Testo della label");
                    JButton button = new JButton("clicca qua");
                    final JTextArea textArea = new JTextArea(5, 20);
                    
                    panel.add(textArea);
                    panel.add(button);
                    panel.add(label);
    
                    ActionListener listener = new ActionListener()
                    {
                        public void actionPerformed(ActionEvent evt)
                        {
                        	label.setText(textArea.getText());
                        }
                    };
            
                    button.addActionListener(listener);
                    frame.add(panel);                
    	}
    }
    L'ho inclusa scrivendo: <APPLET code="Main.class" width=500 height=150></APPLET>

    poi vorrei sapere qual'è il sito per sapere tutti i metodi delle awt e anche come si fa ad inserire un immagine diversa per il button
    grazie

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

    Re: requisti per far andare un applicazione sul web

    Originariamente inviato da iacoposk8
    codice:
    public class Main
    {
    	public static void main(String[] args)
    	{
    L'ho inclusa scrivendo: <APPLET code="Main.class" width=500 height=150></APPLET>
    No, quella che hai fatto è una applicazione "stand-alone". Ha il "punto di ingresso" che è il classico metodo main. NON è una applet e quindi non puoi metterla all'interno di una pagina web con <applet>.

    Una applet è una classe che estende java.applet.Applet o javax.swing.JApplet, inoltre ha un "ciclo di vita" abbastanza differente da una applicazione stand-alone (non ha il main() ) e ci sono comunque delle restrizioni per questioni di sicurezza su certe operazioni (relative ad informazioni e operazioni sulla macchina locale e sul networking).

    Originariamente inviato da iacoposk8
    come si fa ad inserire un immagine diversa per il button
    JButton può visualizzare un Icon. La implementazione che gestisce una immagine è ImageIcon.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    quindi le prime righe diventano così:

    codice:
    import java.applet.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.*;
    
    public class Main extends Applet
    {
    		JFrame frame = new JFrame("Test");
    		.....
    però non mi va ancora...

    per l'immagine sul button ho scritto

    ImageIcon cup = new ImageIcon("cup.gif");
    JButton button = new JButton(cup);

    cup.gif l'ho messa nella cartella del file java... ma anche qui ho fallito miseramente

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da iacoposk8
    quindi le prime righe diventano così:

    codice:
    import java.applet.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.*;
    
    public class Main extends Applet
    {
    		JFrame frame = new JFrame("Test");
    		.....
    però non mi va ancora...
    No, devi capire il "ciclo di vita" di una applet.
    Vedi sul tutorial ufficiale: Lesson: Applets

    Originariamente inviato da iacoposk8
    per l'immagine sul button ho scritto

    ImageIcon cup = new ImageIcon("cup.gif");
    JButton button = new JButton(cup);

    cup.gif l'ho messa nella cartella del file java... ma anche qui ho fallito miseramente
    Una specifica "cup.gif" presuppone che si trovi nella directory "corrente". Quando si avvia una applet quale è la directory "corrente"? Ce n'è sicuramente una ma boh ... riguarda come viene avviata la JVM e non è una cosa che puoi/devi controllare tu (e in ogni caso le applet senza permessi particolari non possono usare il file-system e la nozione di directory, nemmeno quella "corrente").

    Nelle applet è meglio ottenere i riferimenti a immagini/documenti vari come "risorse" (con il getResource di Class) oppure, nel caso delle immagini, usare i getImage di Applet.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    mmm... con l'inglese arranco ma credo che manchi il metodo paint... se nella classe Main metto il metodo paint va?? e per il button, se non è un applet come si fa?

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    per il button ho messo il percorso assoluto e va, solo che non me lo fa vedere subito, devo prima cliccare sul bordo della finestra come se la volessi allargare, eppure le dimensioni son abbastanza grandi per contenerlo.. ora provo a vedere la cosa del paint se è giusta.. un'altra cosa mi interessava:
    per ogni parte del programma, nel mio caso textarea, button e label si può decretare un posizione fissa all'inteno del programma?

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da iacoposk8
    per il button ho messo il percorso assoluto e va
    Mettere path assoluti "cablati" nel sorgente in generale non è (quasi) mai una buona cosa. Per le applet poi può andarti bene solo fino a quando la applet stessa è in locale ma non ti funzionerebbe di certo se proviene dal web!

    Originariamente inviato da iacoposk8
    solo che non me lo fa vedere subito, devo prima cliccare sul bordo della finestra come se la volessi allargare, eppure le dimensioni son abbastanza grandi per contenerlo..
    Senza vedere il codice che hai scritto è un po' difficile fare ipotesi.

    Originariamente inviato da iacoposk8
    per ogni parte del programma, nel mio caso textarea, button e label si può decretare un posizione fissa all'inteno del programma?
    Tecnicamente sì, si parla di "posizionamento assoluto". Si toglie il layout manager da un contenitore e si posizionano i componenti nel contenitore con setLocation/setSize o con setBounds.
    Ma di norma (e se non per casi davvero particolari) è sconsigliabile. Meglio sfruttare i layout manager .... però dovresti conoscerli.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    Originariamente inviato da andbin
    Mettere path assoluti "cablati" nel sorgente in generale non è (quasi) mai una buona cosa. Per le applet poi può andarti bene solo fino a quando la applet stessa è in locale ma non ti funzionerebbe di certo se proviene dal web!

    Senza vedere il codice che hai scritto è un po' difficile fare ipotesi.
    Del codice originale ho modificato la parte del button così:
    codice:
    ImageIcon cup = new ImageIcon("C:/Users/Mezzo/Desktop/java/src/cup.gif");
    JButton button = new JButton(cup);
    Originariamente inviato da andbin
    Tecnicamente sì, si parla di "posizionamento assoluto". Si toglie il layout manager da un contenitore e si posizionano i componenti nel contenitore con setLocation/setSize o con setBounds.
    Ma di norma (e se non per casi davvero particolari) è sconsigliabile. Meglio sfruttare i layout manager .... però dovresti conoscerli.
    Non ti ho ancora ringraziato dell'aiuto, sei stato gentilissimo... mi potresti consigliare una guida/tutorial per il layout manager, se in italiano tanto meglio
    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.