JTextArea - problem z odczytam pola

Odpowiedz Nowy wątek
bombel999
2007-11-28 20:46
bombel999
0

W programie chodzi o to, że do JTextArea przekazuję jakąś treść i mogę ją w tym polu zmodyfikować. Naciśnięcie przycisku na dole formy powoduje zamknięcie okna i wyświetleniu w konsoli tego co było w JTextArea. I problem polega właśnie na tym, że nie wyświetla zmodyfikowanego tekstu.

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Edycja extends JFrame{
    public JTextArea textArea;
    public JScrollPane scroll;
    public JButton ok;
    public JPanel panel;
    public String s;

    public Edycja(String fileName, String zawartosc){
        setTitle("Modyfikacja: " + fileName);
        panel = new JPanel();
        panel.setLayout(new BorderLayout());
        textArea = new JTextArea(30, 50);
        ok = new JButton("Zapisz zmiany");
        ok.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e)
            {
                s=new String(textArea.getText());
                dispose();
            }
        });         
        panel.add(ok,BorderLayout.SOUTH);
        textArea.append(zawartosc);
        scroll = new JScrollPane(textArea); 
        textArea.setEditable(true);
        panel.add(scroll,BorderLayout.CENTER);
        getContentPane().add(panel);
        pack();
        setLocation(230, 90);   
        setVisible(true);
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        <b>System.out.println(s); // tu nie działa</b>
    }
    public static void main(String[] args){
        new Edycja("test","jhfglkhdflgjdflj");
    }

}

Pozostało 580 znaków

bogdans
2007-11-29 00:12
bogdans
0

To powinno wyglądać tak

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Edycja extends JFrame{
        public JTextArea textArea;
        public JScrollPane scroll;
        public JButton ok;
        public JPanel panel;
        public String s;

        public Edycja(String fileName, String zawartosc){
                setTitle("Modyfikacja: " + fileName);
                panel = new JPanel();
                panel.setLayout(new BorderLayout());
                textArea = new JTextArea(30, 50);
                ok = new JButton("Zapisz zmiany");
                ok.addActionListener(new ActionListener(){
                        public void actionPerformed(ActionEvent e)
                        {
                                s=new String(textArea.getText());
                                dispose();
                                System.out.println(s);
                        }
                });
                panel.add(ok,BorderLayout.SOUTH);
                textArea.append(zawartosc);
                scroll = new JScrollPane(textArea);
                textArea.setEditable(true);
                panel.add(scroll,BorderLayout.CENTER);
                getContentPane().add(panel);
                pack();
                setLocation(230, 90);
                setVisible(true);
                setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        }
        public static void main(String[] args){
                new Edycja("test","jhfglkhdflgjdflj");
        }
}

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0