Salve a tutti
Mi presento sono StregaBaba (naturalmente non mi chiamo davvero così).
Ebbene si sono una girlVVoVe: che frequenta una facoltà di informatica...
Passo subilto al dunque, devo creare un software per l'università e ho un solo misero mese e ho scelto come linguaggio di programmazione Java...
E sono intenta ad impararlo nel più breve tempo possibile.
Sto cercando di iparare le interfaccie grafiche, eventi e poi passerò alla definizione vera e propria dell'inferfaccia e cercherò successivamente di implementare i metodi.
Innanzitutto vi dico che sto usando JBuilder 2007 derivato da Eclipse, e volevo sapere se creo una gui da codice poi come posso vederlo in anteprima in modo da poter modificare le posizioni degli elementi nella finestra in modo semplice con il mouse senza utilizzare coordinate?
Poi:
Vi posto 3 classi che ho creato:
codice:package provaSwing; import javax.swing.*; import java.awt.*; public class HelloWorldMain { /** * @param args */ public static void main(String[] args) { /* * Il main in questo caso instanzia solo la memoria per l'oggetto */ new HelloWorld(); } }codice:package provaSwing; //Importo le librerie Swing import javax.swing.*; import java.awt.*; //Questa classe è estesa dalla classe Jframe che gestisce i Frame public class HelloWorld extends JFrame { /* * Questo è il costruttore di classe che viene instanziato alla creazione * dell'oggetto in modo che la GUI sia creata in automatico quando è * creato l'oggetto */ public HelloWorld() { this.setSize(300,100); //IMPORTANTE per chiudere il frame this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setTitle("Hello World"); /* * Creo l'oggetto p1 istanziato dalla classe che crea il panel con * la label all'interno a faccio ADD sul Frame di quel Panel */ HelloPanel p1 = new HelloPanel(); this.add(p1); this.setVisible(true); } }codice:package provaSwing; import javax.swing.*; import java.awt.*; public class HelloPanel extends JPanel{ public HelloPanel() { /* * Dato che la classe è un estensione di JPanel il Panel viene * Creato dal costruttore quando viene istanziata la classe * con this.add aggiungo al Pannelloo (this si riferisce al Panel) * la label. */ JButton Button1 = new JButton(); JLabel l = new JLabel(); l.setText("FANCULO"); Button1.setText("Ciao"); this.add(l); this.add(Button1); }
Lasciate perdere i commenti da idiota
:quote:
Allora voglio separare la gui dalle funzioni..è questo dove voglio arrivare..
Allora ho creato una classe che gestisce il Panel e contiene una Label e un Button, una che Crea un Frame e richiama il Panel, e poi il main che invoca il Frame il quale, secondo il costruttore, aziona tutto!
Adesso però non riesco a gestire gli eventi...
Cioè come ho detto sopra vorrei SEPARARE gui da implementazione delle funzioni, ma non capisco come fare...
Ho letto su Java for Dummies (vedete come sono ridotta) che:
1)Bisognerebbe creare i button come private, ma se lo faccio non funziona più nulla
2)NON HO CAPITO UN TUBO degli actionlistener, actionperformed!!!
cioè come devo fare per creare in quel codice un bottone che faccia qualcosa!
VI RINGRAZIO
e vi prego aiutatemi che sono disperata!
EDIT:
Oppure non è sbagliato creare una classe che abbia al suo interno fram panel e button?

VVoVe: che frequenta una facoltà di informatica...
Rispondi quotando