Вопрос моего коллеги mctep0, которого, в силу недавно зарегистрированного и пустого ЖЖ, не пустили в данное сообщество. Кстати, я хоть и новенький здесь, но, если могу поручиться, что это реальный человек, то ручаюсь.
Необходимо реализовать программу с интерфесом основанным на HTML/CSS/JavaScript.
Выбор пал на org.eclipse.swt.browser. Иммется код следующего содержания:
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.browser.*;
class BrowserExample {
public static void main(String[] args) {
Display display = new Display();
final Shell shell = new Shell(display);
shell.setText("Browser Example");
shell.setSize(800, 600);
final Browser browser = new Browser(shell, SWT.NONE);
shell.open();
browser.setBounds(0, 0, 800, 600);
browser.addLocationListener(new LocationListener() {
public void changed(LocationEvent event) {
}
public void changing(LocationEvent event) {
if (event.location.equals("file:///hi")){
// Здесь надо запретить вывод сообщения "File not found"
browser.stop();
}
}
});
browser.setText("<h1>Hello World!</h1><a href=\"hi\">Hey!</a>");
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}
При переходе по адресу "hi", программа пытается найти файл по этому адресу, но т.к. его там не находит, то выдает соответствующее окно.
А мне надо запрос этот обработать по своему и вывести результат своих вычислений на локальном компьютере. Все изображения, скрипты и стили
будут лежать на локальном компьютере.
Что делать в такой ситуации? Есть вариант отправлять все запросы на localhost, но я не уверен в правильности такого решения. Второй вариант
зарегистрировать свой протокол через protocol.handler, но как я так и не нашел.
Спасибо