Как сделать так, чтобы на всех вкладках JTabbedPane работал один буфер обмена?

167
29 октября 2021, 02:40

У меня есть проект текстового редактора с классом, который расширяет JTabbedPane

  package TextEditor;
  import javax.swing.*;
  public class TextEditorTabbedPane extends JTabbedPane {
  public TextEditorTabbedPane (){
}
public TextEditorScroll getScrollPane (JTextPane pane){
    TextEditorScroll scroll = new TextEditorScroll(pane);
    return scroll;
}
public JTextPane getPane(TextEditorScroll scroll){
     JTextPane pane = scroll.getTextPane();
    return pane;
}
}

и классом, который расширяет JScrollPane

package TextEditor;
import javax.swing.*;
import javax.swing.text.Document;
public class TextEditorScroll extends JScrollPane {
private JTextPane text = new JTextPane();
public TextEditorScroll (JTextPane textPane){
    super (textPane);
    this.text = textPane;
}
public String getText (){
    return text.getText();
};
public JTextPane getTextPane (){
    return text;
}
public Document getStyledDocument (){
    return text.getStyledDocument();
}
}

И метод в главном классе, в котором я создаю Clipboard

public void createClipboard (JTextPane textPane){
    Clipboard buffer = Toolkit.getDefaultToolkit().getSystemClipboard();
    String bufferStr=tabs.getScrollPane(textPane).getText();
    StringSelection stringSelection = new StringSelection(bufferStr);
    buffer.setContents(stringSelection, null);
    try {
        Thread.sleep(1000);
    } catch (InterruptedException ex){}
}

Проблема в том, что этот буфер создается только один раз на одной из вкладок моего текстового редактора, а на других не работает. То есть я копирую текст во вкладке 1, затем перехожу на вторую вкладку и копирую текст оттуда, но в буфере остается текст из первой вкладки.

Как это исправить?

READ ALSO
Как обновить adb.exe для Android Studio?

Как обновить adb.exe для Android Studio?

Запускаю эмулятор в Android Studio, появляется окно:

125
BeanShell sampler не импортирует библиотеки

BeanShell sampler не импортирует библиотеки

Нужно написать простой get запрос, но BeanShell sampler почему-то не хочет импортировать библиотеки

198
Проблема с запуском эмулятора в Android Studio

Проблема с запуском эмулятора в Android Studio

Пытаюсь запустить один из этих эмуляторов:

155
помогите настроить счетчик

помогите настроить счетчик

В предлагаемом коде из Эккеля захотел посчитать порядковый номер генерирования числа, до момента, когда будет удовлетворять условиюОбщее...

156