Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    48

    [JAVA]Finestra collegata ad un evento

    Salve ragazzi, ho bisogno di un mano urgentemente per completare il mio progetto di tesi di laurea!!
    La situazione e' questa: mi occorre creare, in Java of course, una finestra con un Pulsante, una TextField e una TextArea.
    -Nella TextArea devono essere visualizzate certe restrizioni su di un file xml, esse vengono recuperate all'interno del programma per essere poi visualizzate li'
    -Nella TextField l'utente deve poter inserire dei dati (in genere una parola o un numero)
    -Il Pulsante (OK) una volta premuto deve scantenare una serie di eventi ma quello penso di saperlo fare

    Il mio problema e' che di finestre in Java so praticamente ZERO!! Magari la mia richiesta e' molto semplice ma per me risulta invece complicato...

    GRAZIE!!!

    P.S: mi scuso per l'inconveniente del precedente post

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    se 'b' e' il tuo bottone fai:

    codice:
    b.addActionListener(new ActionListener()
    {
       public void actionPerformed(ActionEvent e)
       {
          // codice da far eseguire alla pressione del bottone
       }
    });
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    48
    Quella forse e' l'unica cosa che sapevo fare :P
    Il mio problema e' proprio la creazione della finestra

    Cmq grazie lo stesso

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    codice:
    import java.awt.AWTEvent;
    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.Rectangle;
    import java.awt.Toolkit;
    
    import javax.swing.BorderFactory;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;
    
    
    import javax.swing.JButton;
    import javax.swing.JTextField;
    
    /*
     * Creato il 01/dic/06
     *
     * TODO Per modificare il modello associato a questo file generato, aprire
     * Finestra - Preferenze - Java - Stile codice - Modelli codice
     */
    
    public class finestra extends JFrame{
    
    	
    	JPanel contentPane;
    	  JPanel jpanel = new JPanel();
    	private JButton jButton = null;
    	private JTextField jTextField = null;
    	private JTextArea jtextarea=null	;
    	  
    	  public finestra() {
    		    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    		    try {
    		      jbInit();
    		    }
    		    catch (Exception e) {
    		      e.printStackTrace();
    		    }
    		 
    		  } 
    	  
    	  
    	  private void jbInit() throws Exception {
    		  	
    		  	contentPane = (JPanel)this.getContentPane();
    		    contentPane.setLayout(null);
    		    contentPane.add(getJButton(), null);
    		    contentPane.add(getJTextField(), null);
    		    contentPane.add(getJTextArea(), null);
    		    this.setContentPane(contentPane);
    		    this.add(jpanel);
    		    this.setSize(new Dimension(541, 419));
    		    this.setTitle("Frame Title");
    		    this.setPreferredSize(new Dimension(800,600));
    		    
    		  }
    	  
    	  
    	  
    /**
    	 * This method initializes jButton	
    	 * 	
    	 * @return javax.swing.JButton	
    	 */
    	private JButton getJButton() {
    		if (jButton == null) {
    			jButton = new JButton();
    			jButton.setBounds(new Rectangle(17, 19, 126, 21));
    			jButton.setText("premi");
    		}
    		return jButton;
    	}
    	
    	/**
    	 * This method initializes jTextArea	
    	 * 	
    	 * @return javax.swing.JButton	
    	 */
    	
    	private JTextArea getJTextArea() {
    		if (jtextarea == null) {
    			jtextarea = new JTextArea();
    			jtextarea.setBounds(new Rectangle(18, 55, 499, 316));
    			
    		}
    		return jtextarea;
    	}
    
    
    /**
     * This method initializes jTextField	
     * 	
     * @return javax.swing.JTextField	
     */
    private JTextField getJTextField() {
    	if (jTextField == null) {
    		jTextField = new JTextField();
    		jTextField.setBounds(new Rectangle(160, 18, 354, 22));
    	}
    	return jTextField;
    }
    
    
    public static void main(String[] args){
    	 
    	boolean packFrame = false;
    	finestra frame = new finestra();
      //Validate frames that have preset sizes
      //Pack frames that have useful preferred size info, e.g. from their layout
      if (packFrame) {
        frame.pack();
      }
      else {
        frame.validate();
      }
      //Center the window
      Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
      Dimension frameSize = frame.getSize();
      if (frameSize.height > screenSize.height) {
        frameSize.height = screenSize.height;
      }
      if (frameSize.width > screenSize.width) {
        frameSize.width = screenSize.width;
      }
      frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
      frame.setVisible(true);}

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    48
    Perfetto! Proprio come l'avevo immaginato

    Adesso ho aggiunto la parte descritta da Alex per scatenare l'evento quando il tasto viene premuto...e qui e' sorto un'altro problema

    Ovvero: premendo il pulsante cio' che scrivo nella JTextField dovrebbe apparire nella finestra sottostante... Ma non trovo un metodo adatto per fare cio'!!

    ok.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    //Qui dentro va il codice che viene eseguito
    //ogni volta che OK viene premuto
    System.out.println("<<<STO PER PREMERE IL PULSANTE OK!!!!!!!!!!!!");


    JTextField.getText();

    System.out.println("<<<HO PREMUTO IL PULSANTW OK!!!!!!!!!!!!");
    }
    });
    Cosi' mi da' errore...

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    1) Ricordati sempre di postare l'errore che ottieni.
    2) Ho come l'impressione che tu non abbia proprio idea di quello che stai facendo (vedi istruzione qui sotto):
    codice:
    JTextField.getText();
    // Che roba è?? JTextField è il nome di una classe
    // getText() il nome di un metodo che ritorna un oggetto String che rappresenta il contenuto di un controllo.
    P.S.: Domanda personale: progetto di laurea in cosa?


    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

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    48
    Hai ragione ma scrivendo in fretta ho fatto casino con le maiuscole :P

    Quella riga va sostituita con

    String ciao = jTextField.getText();

    Laurea in informatica anche se non sembra

    Il fatto e' che a livello grafico non ho mai fatto niente di niente ed ora sono anche sotto stress per la fretta VVoVe:

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    48
    Tutto sistemato!! La variabile "jTextField" andava dichiarata "static" per farla riconoscere all'interno del metodo.

    Grazie a tutti!!

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.