Перетаскивание в Swing отключено, когда используется JxBrowser HEAVYWEIGHT - PullRequest
1 голос
/ 27 марта 2019

Я пытаюсь заставить Drag and Drop работать с JxBrowser в Linux.Я хочу, чтобы на одной вкладке можно было перетаскивать компоненты свинга, а на другой вкладке - jxbrowser.Однако при добавлении jxbrowser на другую вкладку перестает работать перетаскивание.

Этот код воспроизводит проблему при попытке перетащить метку на вкладку «Текст»:

public class TabbedPaneSample {
   public static void main(String[] args) {
        Browser browser = new Browser(BrowserType.HEAVYWEIGHT);

        JLabel label = new JLabel("Label Text");
        label.setTransferHandler(new TransferHandler("text"));
        label.addMouseListener(new MouseAdapter() {
            public void mousePressed(MouseEvent evt) {
                JComponent comp = (JComponent) evt.getSource();
                TransferHandler th = comp.getTransferHandler();
                th.exportAsDrag(comp, evt, TransferHandler.COPY);
            }
        });

        JTabbedPane tabbedPane = new JTabbedPane();
        tabbedPane.addTab("Browser", new BrowserView(browser));
        tabbedPane.addTab("Text", label);

        JFrame frame = new JFrame();
        frame.getContentPane().add(tabbedPane, BorderLayout.CENTER);
        frame.setSize(800, 600);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        browser.loadURL("https://www.google.com");
    }
}

Изменение *От 1006 * до BrowserType.LIGHTWEIGHT заставляет это работать.

Можно ли как-то обойти эту проблему?

1 Ответ

0 голосов
/ 17 апреля 2019

К сожалению, в данный момент Drag & Drop не работает на Linux в тяжеловесном режиме в JxBrowser. У нас уже есть открытое задание по этому вопросу, и мы реализуем эту функциональность в одной из будущих версий JxBrowser.

Пока что в качестве обходного пути я могу предложить вам облегченный режим, так как Drag & Drop должен работать в этом режиме в Linux.

Что касается облегченного режима, который медленнее, чем режим тяжелого веса, возможно, вы можете попробовать ускоренный облегченный режим, который примерно на 30% быстрее: https://jxbrowser.support.teamdev.com/support/solutions/articles/9000104965-accelerated-lightweight-rendering

...