powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Как получить JTextArea в котором случились изменения?
1 сообщений из 1, страница 1 из 1
Как получить JTextArea в котором случились изменения?
    #39970994
Сергей_ТВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть два поля 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
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как получить JTextArea в котором случились изменения?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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