Как читать из JOptionPane.showMessageDialog

Я пытаюсь получить местоположение от щелчка мыши. У меня есть следующий код:

import com.teamdev.jxbrowser.chromium.Browser;
import com.teamdev.jxbrowser.chromium.swing.BrowserView;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class test {
public static void main(String[] args) {
    final Browser browser = new Browser();
    BrowserView view = new BrowserView(browser);

    final JTextField addressBar = new JTextField(
            "https://developer.here.com/api-explorer/maps-js/v3.0/infoBubbles/position-on-mouse-click");
    addressBar.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            browser.loadURL(addressBar.getText());
        }
    });

    JPanel addressPane = new JPanel(new BorderLayout());
    addressPane.add(new JLabel(" URL: "), BorderLayout.WEST);
    addressPane.add(addressBar, BorderLayout.CENTER);

    JFrame frame = new JFrame("Website");
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    frame.add(addressPane, BorderLayout.NORTH);
    frame.add(view, BorderLayout.CENTER);
    frame.setBounds(1, 1, 1300, 700);
    frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
    browser.loadURL(addressBar.getText());
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e1) {
            e1.printStackTrace();
        }
    }
    }

И когда я нажимаю на эту карту с веб-сайта, я получаю сообщение Box с координатами.

У меня вопрос как получить эти координаты (числа)?

Я получил этот сценарий с веб-сайта и создал файл hmtl, используя его и небольшой код JavaScript для получения, каким-то образом координаты, записав их в текстовый файл.

Это не сработало, и после этого я понял, что по некоторым данным из Интернета невозможно записывать данные в файлы с использованием javascript (что представляет угрозу безопасности).

Поэтому после этого опция javascript отключена. И теперь мне интересно, возможно ли каким-то образом получить эту информацию из messageBox... Я должен упомянуть, что я вынужден кодировать только с javascript и Java. А я пользуюсь JxBrowser для отображения веб-страницы в моем приложении Java и Swing для графического интерфейса.

Вычисление местоположения с помощью щелчка мышью- это сайт, который предоставляет вам координаты местоположения по щелчку, местоположение отправляется с помощью окна предупреждения (в javascript). Когда я открываю этот сайт в своем приложении Java, я не получаю окно предупреждения (потому что я открываю его, используя Java, а не браузер), я получаю JOptionPane.showMessageDialog,

Так что я хочу, чтобы извлечь / получить координаты из этого JOptionPane,

1 ответ

Решение

Метод DialogHandler.onAlert() вызывается при отображении диалогового окна предупреждения JavaScript. Это происходит, когда вызывается функция JavaScript window.alert(). это эквивалент, которым вы можете управлять предупреждением, переопределив DialogHandler.onAlert()

browser.setDialogHandler(new DialogHandler() {
    @Override
    public void onAlert(DialogParams params) {
        String url = params.getURL();
        String title = "The page at " + url + " says:";
        String message = params.getMessage();
        JOptionPane.showMessageDialog(null, message, title, JOptionPane.PLAIN_MESSAGE);
    }

для дополнительной информации проверьте диалог javascript учебника для JXBrowser здесь

Другие вопросы по тегам