Newsgroup: it.comp.java
Titolo: Help! Voglio imparare Java

salve a tutti!
voglio imparare a programmare in Java e per far ciò ,mi sono scaricato un 
po' di manuali e affini sia dal sito della Sun che da altre parti.
Ora volevo provare a fare una applicazione scema con un minimo di GUI: un 
pulsante ed una label che cambia se clicco il pulsante.
Il codice che ho implementato è il seguente:
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class SwingTest implements ActionListener {
    public static void main (String args[]){
        JFrame myWin = new JFrame("Swing Test");
        JContainer mainPanel;
        JPanel panel = new JPanel();
        JButton cmd = new JButton("Cliccami");
        JLabel status = new JLabel("Non Cliccato.");
        mainPanel = myWin.getContentPane();
        cmd.setSize(80,40);
        cmd.addActionListener(this);
        panel.add(cmd, BorderLayout.CENTER);
        mainPanel.add(panel);
        myWin.setSize(640, 480);
        myWin.show();
    }
    public void actionPerformed(ActionEvent e) {
        if (label.getText()=="Non Cliccato.") {
            label.setText("Cliccato");
        }
        else
        {
            label.setText("Non Cliccato.");
        }
 
    }
}
L'output del compilatore è il seguente:
SwingTest.java:17: cannot resolve symbol
symbol  : class JContainer
location: class SwingTest
        JContainer mainPanel;
        ^
SwingTest.java:25: non-static variable this cannot be referenced from a 
static context
        cmd.addActionListener(this);
                              ^
SwingTest.java:36: cannot resolve symbol
symbol  : variable label
location: class SwingTest
        if (label.getText()=="Non Cliccato.") {
            ^
SwingTest.java:37: cannot resolve symbol
symbol  : variable label
location: class SwingTest
            label.setText("Cliccato");
            ^
SwingTest.java:41: cannot resolve symbol
symbol  : variable label
location: class SwingTest
            label.setText("Non Cliccato.");
            ^
5 errors
Ora come faccio a implementare correttamente la gestione dell'evento?
C'è qualcuno che ha voglia di aiutarmi?
Grazie
Daniele

Ora come faccio a implementare correttamente la gestione dell'evento?
Leggi (almeno) il Tutorial Sun e smanetta con il codice degli esempi.
http://java.sun.com/docs/books/tutorial/uiswing/index.html
HTH
-- 
Ciao
	Fabrizio C.

 *Dove* hai dichiarato label? Perché lo hai fatto, vero? ;-)
OOPS č vero me ne sono accorto solo dopo il post...
Grazie
 

        cmd.addActionListener(this);
cmd.addActionListener(myApp);
Così credo (non ho tempo di fare la "prova provata") che funzionerà, ma 
il tutto è un po' confuso.
Inoltre preferirei usare
myWin.setVisible(true);
invece di
myWin.show();
Rinnovo l'incoraggiamento a studiare il Tutorial (meglio se 
dall'inizio), perché IMHO ti perdi... sui fondamentali. ;-)


WOOOO 
ho ridotto il numero degli errori del compilatore a soli 3!!
E sono tutti nella funzione che gestisce l'evento, non riconosce 
l'oggetto label e forse ha anche ragione...
ora la mia domanda è: come faccio ad interagire con gli oggetti della mia 
finestra dalla funzione actionPerformed?
Ecco l'applicazione completa
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class SwingTest implements ActionListener {
    public static void main (String args[]){
        JFrame myWin = new JFrame("Swing Test");
        Container mainPanel;
        JPanel panel = new JPanel();
        JButton cmd = new JButton("Cliccami");
        JLabel status = new JLabel("Non Cliccato.");
        SwingTest myApp = new SwingTest();
        mainPanel = myWin.getContentPane();
        cmd.setSize(80,40);
        cmd.addActionListener(myApp);
        panel.add(cmd, BorderLayout.CENTER);
        panel.add(status, BorderLayout.SOUTH);
        mainPanel.add(panel);
        myWin.setSize(640, 480);
        myWin.setVisible(true);


Ecco l'applicazione completa
[CUT]
Leggiti prima gli esempi.
-- 
Ciao
	Fabrizio C.

 ha scritto nel messaggio
news:Xns92847AF325951Ki...@193.70.192.192...
