JTextArea - problem z odczytam pola

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");
	}
	
}

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");
        }
}

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