Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Как получить JTextArea в котором случились изменения? / 1 сообщений из 1, страница 1 из 1
19.06.2020, 16:27
    #39970994
Сергей_ТВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить JTextArea в котором случились изменения?
Есть два поля JTextArea (см скриншот в самом низу и код Main).

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;



public class Main {

	static JTextArea area01, area02;
	private static JTabbedPane tabbedPane;
	private static JPanel tab;	
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		JFrame frame = new JFrame(); 
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(270,270);
        
        tabbedPane = new JTabbedPane(JTabbedPane.TOP);
		
		tabbedPane.setBounds(10, 10, 250, 250);
		frame.getContentPane().add(tabbedPane);
		
        tab = new JPanel(null);
        tabbedPane.addTab("Пример", tab);
        
        
        area01 = new JTextArea();
        area01.setLayout(null);
        area01.setBounds(20, 20, 200, 20);
        area01.getDocument().addDocumentListener(new ContentJTextAreaListener());
        tab.add(area01);
        
        area02 = new JTextArea();
        area02.setLayout(null);
        area02.setBounds(20, 50, 200, 20);
        area02.getDocument().addDocumentListener(new ContentJTextAreaListener());
        tab.add(area02);
        
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
	}




На обоих установлен один и тот же слушатель изменений. См код

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
import javax.swing.JTextArea;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;

public class ContentJTextAreaListener implements DocumentListener {

	@Override
	public void insertUpdate(DocumentEvent e) {
		// TODO Auto-generated method stub
		updateLog(e, "inserted into");
	}

	@Override
	public void removeUpdate(DocumentEvent e) {
		// TODO Auto-generated method stub
		updateLog(e, "inserted into");
	}

	@Override
	public void changedUpdate(DocumentEvent e) {
		// TODO Auto-generated method stub

	}
	
	public void updateLog(DocumentEvent e, String action) {

		System.out.println("ContentJTextAreaListener updateLog : " + e.getLength());
	}

}



Изменения в каждом поле фиксируются нормально.
Но не удается получить в каком из JTextArea они происходят. Желательно получить переменную, которая содержит либо area01 либо area02, в зависимости от того где произошли изменения.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как получить JTextArea в котором случились изменения? / 1 сообщений из 1, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]