Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Вопрос по JNI и LaF (Swing) OpenJDK 11

479  
uscheswoi_82 свой человек07.06.21 13:26
uscheswoi_82
07.06.21 13:26 

Всем привет. В общем решил улучшить свои знания по Java.

1. Короче хочу сделать нативную библиотеку для моей Java программы, вот пример https://www.baeldung.com/jni, я всё повторяю как там написано, компилирую, создаёт 3 файла - откомпилированный Java HelloJNI.class (т.е.файл с расширением .class), и Си-шные файлы HelloJNI.c и HelloJNI,h, у меня есть среда разработки Dev-C++ 5.11, и компилятор TDM-GCC 4.9.2 64-bit, а вместо полноценной Java я использую OpenJDK 11. Только вот не знаю как подключить файл jni.h к Си-шному файлу, так-как файл находится в другой папке. Dev-C++ находится в папке Program Files, а OpenJDK и JNI SDK в папке C:\OpenJDK\include. А проект с JNI C:\JNITest\. Допустим я видел оборудование для биохимиком, сама программа написана на Java, но к оборудованию программа написанная на Java обращается через JNI.


2. Хотелось бы использовать Motif (Swing), но этот LaF deprecated https://bugs.openjdk.java.net/browse/JDK-8218637. Motif в очень солидных рабочих станциях использовался, где графика стояла на последнем месте, а важно была производительность, в основном на Юниксах см:

https://upload.wikimedia.org/wikipedia/commons/1/14/HP-HP9...

https://upload.wikimedia.org/wikipedia/commons/9/9c/Irixne...

https://upload.wikimedia.org/wikipedia/commons/a/a1/CDE_ru...


А у меня выглядет так, ну не нравится по умолчанию LaF

https://i.ibb.co/hmjC1Fg/Jtool-Bar-Demo-min.jpg

https://i.ibb.co/nCtdg8Y/Jtable-Demo-Result-01-21-26-05-20...


Допустим в программах для химиков/биохимиков тоже присутсвует Motif, и самое удивительно что когда компилируешь компилятор компилятор сообщает мне что Motif deprecated, но когда запускаешь программу для химиков/биохимиков спомощью того-же OpenJDK который ругает за Motif, она отображает Motif без проблем:

https://i.ibb.co/P1c855n/motif-13-18-07-06-min.jpg


Или хотелось-бы такой LaF, кнопки с закруглёнными уголками и градииентом, а поля вдавленные:

https://i.computer-bild.de/imgs/2/4/7/8/9/0/5/Screenshot-1...

https://experience.sap.com/files/guidelines/MiniSG/images/...


Полистал, как понял что запаришься создавать свой LaF - https://habr.com/ru/company/alee/blog/128914/. Заранее спасибо.

кто как обзывается, тот так сам называется... маску ношу чтобы не заразить антиваксеров... Дневник тяжелобольного инвалида
#1 
Murr патриот07.06.21 15:57
Murr
NEW 07.06.21 15:57 
в ответ uscheswoi_82 07.06.21 13:26

не знаю как подключить файл jni.h к Си-шному файлу

-----

Читай про директиву include - в той части где говорится об аргументе.


#2 
uscheswoi_82 свой человек07.06.21 17:16
uscheswoi_82
NEW 07.06.21 17:16 
в ответ Murr 07.06.21 15:57
Читай про директиву include - в той части где говорится об аргументе.

Спасибо, я как-то сам смог додуматься, надо было в настройках в include добавить пути к OpenJDK, и выбрать чтобы компилировалась в dll, код запустил всё работает как часы

https://i.ibb.co/g4fTQTh/jni0-min.jpg


А это результат

https://i.ibb.co/m4QFf9W/result-07-06-2021-17-14-min.jpg

кто как обзывается, тот так сам называется... маску ношу чтобы не заразить антиваксеров... Дневник тяжелобольного инвалида
#3 
uscheswoi_82 свой человек07.06.21 17:21
uscheswoi_82
NEW 07.06.21 17:21 
в ответ uscheswoi_82 07.06.21 17:16

НП. Просто в одной фирме был прибор, который разделял помойму жидкости. GUI был разработан на Java, и там какая-та прослойка была написана на Си/Си++, между GUI и устройством которое разделяет жидкости, которая запускало устройства, считала, останавливала, типа HPLC https://ru.wikipedia.org/wiki/Высо�%....

кто как обзывается, тот так сам называется... маску ношу чтобы не заразить антиваксеров... Дневник тяжелобольного инвалида
#4 
wasja-de завсегдатай08.06.21 11:38
NEW 08.06.21 11:38 
в ответ uscheswoi_82 07.06.21 17:21, Последний раз изменено 08.06.21 11:42 (wasja-de)
НП. Просто в одной фирме был прибор, который разделял помойму жидкости. GUI был разработан на Java, и там какая-та прослойка была написана на Си/Си++, между GUI и устройством которое разделяет жидкости, которая запускало устройства, считала, останавливала, типа HPLC https://ru.wikipedia.org/wiki/Высо�%....

Да, верно, такие приборы хроматографами зовут, и один из представителей таких хроматографов для разделения вещесв в жидкости как раз и является HPLC. Часом не Кнауэрша?


А Веб морда такого прибора в открытом доступе есть? Поделитесь, пожалуйста, ссылкой, чтобы посмотреть как функционально они это сделали.


#5 
uscheswoi_82 свой человек08.06.21 13:58
uscheswoi_82
NEW 08.06.21 13:58 
в ответ wasja-de 08.06.21 11:38
А Веб морда такого прибора в открытом доступе есть?

Сомниваюсь, к этому оборудованию фиг кого подпустят, сломать этот прибор очень легко. А кто исследует, он находится рядом с этим прибором, запихивает образец, и запускает прибор. Раньше туда ставили какие-то древние Windows типа Windows NT 4.0, даже Windows 3.11 подходила.

кто как обзывается, тот так сам называется... маску ношу чтобы не заразить антиваксеров... Дневник тяжелобольного инвалида
#6 
wasja-de завсегдатай08.06.21 15:16
NEW 08.06.21 15:16 
в ответ uscheswoi_82 08.06.21 13:58

Жалко, что вы ни название аппарата, ни название фирмы, выпускающей аппарат не запомнили. Веб интерфейс как мне известно есть у Агилента в новой Кемстейшн, но вот там он действительно очень агли. У Кнауерши вроде не было, по крайней мере на предыдущей химической выставке. Может все-таки вспомните где веб интерфейс на хроматографе видели?

#7 
uscheswoi_82 свой человек08.06.21 15:48
uscheswoi_82
NEW 08.06.21 15:48 
в ответ wasja-de 08.06.21 15:16
Жалко, что вы ни название аппарата, ни название фирмы, выпускающей аппарат не запомнили.

Не было названия фирмы, краем уха слышал что российский производитель в Германии как мне объяснили вроде бы. У китайского производителя оборудования которое продаётся в Германии тоже часто нет названия, и упаковка выглядет не солидно, я удивляюсь как дают ещё гарантию.

кто как обзывается, тот так сам называется... маску ношу чтобы не заразить антиваксеров... Дневник тяжелобольного инвалида
#8 
wasja-de завсегдатай08.06.21 16:41
NEW 08.06.21 16:41 
в ответ uscheswoi_82 08.06.21 15:48

Российских производителей HPLC (ВЭЖХ по-русски) можно пересчитать по пальцам одной руки, и ни у кого из них веб интерфейса нет и могу достоверно сказать, что даже не планируется, все лепят на обычном дотнете. В Германии HPLC тоже лепит очень мало фирм, тоже пальцев одной руки хватит, если конечно не считать локализованные из США производства. У них - тоже нет.

#9