powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с запуском апплета в браузере
7 сообщений из 7, страница 1 из 1
Проблема с запуском апплета в браузере
    #37771637
nemozar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, создаю программу для сканирования на яве. Интересует сканирование через браузер.

Создал аплет и десктопную программу. Аплет в нетбинсе запускается нормально. В браузере подключаю апплет с кодом

Код: java
1.
<APPLET codebase="classes" code="jtwacker/jScan.class" width=350 height=200></APPLET>



Как работает программа... Есть класс JTwain
Код: 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.
package org.scavino.twain;
public class JTwain {
    private static final JTwain mInstance = new JTwain();

    /** Name of the C/C++ JNI DLL which communicates with the C TWAIN DLL.
     * The file name is case sensative and must NOT contain
     * the .DLL extension
     */
    protected final String DLL_NAME = "jtwain";
    
        private JTwain() {
        initLib();
    }
    
      public static JTwain getInstance(){
        return mInstance;
    }

    public native boolean isTwainAvailble();
    
    public native String[] getAvailableSources();
    
    public native String acquire();
    
    public native String acquire(String sourceName);

    /*
     * Loads the C/JNI Libray
     */
    private void initLib(){

        try {
            
            System.loadLibrary(DLL_NAME);
        }
        
        finally {
            // Send to your logging subsystem
            System.out.println("Loading : " + DLL_NAME + ".dll");
        }
    }
}



А вот сам код программы (апплета):

Код: 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.
/** Add the buttons to the toolbar
     */    
    protected void addButtons(){
        
        JButton _ab = new JButton("Acquire");
        _ab.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                acquireImage();
            }
        });
        mToolBar.add(_ab);
        mToolBar.addSeparator();
        
[color=red]        if (org.scavino.twain.JTwain.getInstance().isTwainAvailble()) {
            
            String[] twainSources = org.scavino.twain.JTwain.getInstance().getAvailableSources();[/color]
            if (twainSources != null) {
                mSourcesCombo = new JComboBox(twainSources);
                //mSourcesCombo.addItem("<NONE AVAILABLE>");
            } else {
                mSourcesCombo = new JComboBox();
                mSourcesCombo.addItem("<NONE AVAILABLE>");
            }
        } else {
            mSourcesCombo = new JComboBox();
            mSourcesCombo.addItem("<NONE AVAILABLE>");
        }
        
        mToolBar.add(mSourcesCombo);
    }
    



Красным выделены поля, удалив которые апплет в браузере отображается. Такое чувство, что он загружается бесконечно... зависает на этой строке.
Возможно при запуске из браузера не может найти библиотеку

protected final String DLL_NAME = "jtwain";
...
System.loadLibrary(DLL_NAME);


Подскажите что можно сделать?
...
Рейтинг: 0 / 0
Проблема с запуском апплета в браузере
    #37771669
maxkar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используйте лучше JavaWebStart. Там можно указать и использование native-библиотек. Ну или посмотрите статью , но не факт, что сейчас она будет работать. Использование native-кода из апплетов все же неправильно.
...
Рейтинг: 0 / 0
Проблема с запуском апплета в браузере
    #37771742
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрите Java Console в бразузере. Там должны быть ошибки. Почитайте про подписаные апплеты и использование нативного кода из них
...
Рейтинг: 0 / 0
Проблема с запуском апплета в браузере
    #37771746
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxkarИспользуйте лучше JavaWebStart. Там можно указать и использование native-библиотек. Ну или посмотрите статью , но не факт, что сейчас она будет работать. Использование native-кода из апплетов все же неправильно.
В Java 7, вроде, собирались разницу между JWS и апплетом убрать окончательно.
...
Рейтинг: 0 / 0
Проблема с запуском апплета в браузере
    #37771775
nemozar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добавил политику безопасности, и нормально отобразился аплет. Теперь возникла проблема, dll возвращает, что не удалось найти сканер.

Код: java
1.
2.
3.
grant {
permission java.security.AllPermission;
};




Из нетбинса все работает. В аплете список сканеров получаю, при попытке открыть окно сканирования выскакивает сообщение, что не найден сканер в системе. Такое чувство что еще прав не хватает ему.
...
Рейтинг: 0 / 0
Проблема с запуском апплета в браузере
    #37771885
nemozar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибка возникает в строке вызова окна винды для сканирования. Притом, пока не закрою приложения в браузере доступ к сканеру закрыт (получается приложение держит ДЛЛ похоже...). Может еще какие то разрешения должны быть? что бы с переферией через ДЛЛ работать?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
    protected void acquireImage() {
        if (org.scavino.twain.JTwain.getInstance().isTwainAvailble()){
            if (mSourcesCombo.getItemCount() > 0 ){
                String _source = (String)mSourcesCombo.getSelectedItem();
                if (_source != null){
[color=red]                    String _filename = org.scavino.twain.JTwain.getInstance().acquire(_source);[/color]
                    if (_filename != null && _filename.length() > 0) {
                        File fChoosen = new File(_filename);
                        openFile(fChoosen);
                    } else {
                        System.out.println("Severe Error File Did not Acquire");
                    }
                } // end if
            } // end if
        } // end if
    }
...
Рейтинг: 0 / 0
Проблема с запуском апплета в браузере
    #37774289
nemozar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Столкнулся с еще одной проблемой.
При попытке выполнить ResultSet rs = query.executeQuery("select * from site.xmldoc_addnewpic(3802)"); вылетает исключение под браузером, из среды все работает отлично.

Подключаюсь к базе
Код: java
1.
2.
3.
            Class.forName("org.postgresql.Driver");
            ce = DriverManager.getConnection("jdbc:postgresql://192.168.1.39/mfcrostov?user=postgres&password=2222");
            query = ce.createStatement();



И еще вопрос. Ничего не выводится, программа просто не отрабатывает, возможно ли стектрейс просмотреть из под браузера? или какую либо отладку провести, что бы проверить...
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с запуском апплета в браузере
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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