Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    205

    [java]programmazione eventi con IO

    Ciao, devo creare una interfaccia grafica contenente un JTextField, in modo che, ogni volta che si
    preme "enter" il contenuto del JTextField viene scritto, come testo, in un file di
    nome "backup".
    codice:
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    
    public class Text extends JFrame {
    	JTextField text;
    	JPanel panel;
    	JButton button;
    	
    	Text() {
    		button = new JButton("Enter");
    		text = new JTextField(15);
    		panel = new JPanel();
    		panel.add(button);
            	panel.add(text);
            	getContentPane().add(panel);
            	button.addActionListener(new Backup());
            	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            }
       public static void main(String[] args) {
          Text text = new Text();
          text.pack();
          text.setVisible(true);
          text.setSize(new Dimension(500, 400));
    
       }
    }
    
    class Backup implements ActionListener {
       public void actionPerformed(ActionEvent e) {
          PrintWriter out=new PrintWriter(new FileWriter(......));
          out.println(....);
       }
    }
    Il mio problema è nel metodo actionPerformed sono giuste le mie due linee di codice? che parametri gli passo?
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    l'unico modo per saperlo è compilare ed eseguire, non trovi?

    comunque la inner class deve essere dentro la classe test, altrimenti devi dare alla stessa visibilità del campo text da cui deve prelevare i dati

    codice:
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    
    public class Text extends JFrame {
    
         JTextField text;
        JPanel panel;
        JButton button;
    
        Text() {
            button = new JButton("Enter");
            text = new JTextField(15);
            panel = new JPanel();
            panel.add(button);
            panel.add(text);
            getContentPane().add(panel);
            button.addActionListener(new Backup());
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
    
        public static void main(String[] args) {
            Text myText = new Text();
            myText.pack();
            myText.setVisible(true);
            myText.setSize(new Dimension(500, 400));
    
        }
    
        class Backup implements ActionListener {
    
            public void actionPerformed(ActionEvent e) {
                PrintWriter out = null;
                try {
                    out = new PrintWriter(new FileWriter("prova.txt"));
                    out.println("text.value = " + text.getText());
                } catch (IOException ex) {
                } finally {
                    out.close();
                }
            }
        }
    }
    questo è codice funzionante (nota che ho solo messo nome file e cosa scriverci dentro)

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    205
    Originariamente inviato da valia
    l'unico modo per saperlo è compilare ed eseguire, non trovi?

    comunque la inner class deve essere dentro la classe test, altrimenti devi dare alla stessa visibilità del campo text da cui deve prelevare i dati

    questo è codice funzionante (nota che ho solo messo nome file e cosa scriverci dentro)
    non mi sono accorto di aver messo la inner class fuori e non ho insistito nella compilazione! Grazie Mille

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    prego :-)

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 © 2026 vBulletin Solutions, Inc. All rights reserved.