Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 25 lis 2024, o 01:18


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 29 mar 2014, o 00:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sie 2012
Posty: 52
Lokalizacja: Toruń
Pomógł: 1

Witam wszystkich.

Dzisiaj zajmiemy się podłączeniem zewnętrznej biblioteki w środowisku Eclipse, oraz pisaniem funkcji korzystających z tej biblioteki.
Biblioteka, którą wykorzystamy w naszej aplikacji to „PortableRXTX.jar” ściągnięta na nasz dysk twardy ze strony http://dl.dropbox.com/u/53861150/PortableRXTX/V1.2/PortableRXTX.jar holendra pana Stefano Speretta. Warto zajrzeć na stronę holendra http://inablackbox.wordpress.com/2012/05/12/portable-rxtx/ gdzie pokazuje jak wszystkie pliki *.dll i pliki *.class do obsługi portu RS232 zamknąć w jednym pliku *.jar dlatego nazwa – PortableRXTX.jar.

Teraz należy poinformować Eclipe o tej bibliotece i że zamierzamy z niej korzystać. Kliknąć (LPM) na górnej belce środowiska Eclipse : „Window -> Preferences” .
Obrazek
Pokarze się nowe okno o nazwie „Preferences”, a w nim wybrać „Java -> Bulid Path -> User Libraries” i kliknąć (LPM) na klawisz „New…” .
Obrazek
Pokarze się nowe okno o nazwie „New User Library” , w nim wpisać dowolną nazwę naszej biblioteki (ja wpisuję nazwę biblioteki). Kliknąć „OK”.
Obrazek
Teraz zaznaczyć nowo utworzony folder na bibliotekę i kliknąć klawisz „Add External JARs…” .
Obrazek
Pokarze się nowe okna o nazwie „ JAR Selection” w nim wskazać bibliotekę (w naszym przypadku - PortableRXTX.jar) i kliknąć klawisz „Otwórz”. Załaduje się nasza biblioteka. No i teraz kliknąć klawisz „OK”.
Obrazek
No i już Eclipse wie o naszej bibliotece. Teraz trzeba bibliotekę przywiązać do naszej aplikacji, a robi się to tak:
W panelu po lewej stronie o nazwie „Package Explorer” zaznaczyć – kliknąć(PPM) naszą aplikację o nazwie „COM Port Terminal” i z menu wybrać pozycję „Build Path -> Add Libraries…”
Obrazek
Pokarze się nowe okno o nazwie „Add Library”, a w nim zaznaczyć opcje „User Library” i kliknąć na przycisk „Next >” . Następnie „zaptaszkować” folder z naszą biblioteką i kliknąć na klawisz „Finish”.
Obrazek
Teraz już mamy bibliotekę „PortableRXTX.jar” podłączoną pod naszą aplikację.
Obrazek
Teraz na naszej formatce z komponentami zaznaczamy komponent o nazwie „comboBox_1”. W panelu środowiska Eclipse o nazwie „Structure -> Properties” kliknąć na klawisz „…” po prawej stronie właściwości o nazwie „model”. Pokarze się okno o nazwie „model” i tu wpisać liczby w kolumnie (jedną pod drugą – bez jakich kol wiek innych znaków) i kliknąć klawisz „OK”.
Obrazek
Zaznaczamy komponent o nazwie „comboBox” i ty jak poprzednio, ale wpisujemy cokolwiek (na przykład 1) - żeby Eclipse wpisał model do programu .

Klikamy na zakładkę „Source” w panelu głównym środowiska Eclipse (przechodzimy do zakładki pisania kodu).
Obrazek
I tu piszemy na samym końcu naszego programu przed ostatnią klamrą procedurę :
Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Jest to funkcja odczytująca porty szeregowe naszego komputera i zwracająca wynik w postaci jakiej potrzebuje model komponentu „comboBox”.
Obrazek
Po prawej stronie są „żaróweczki z czerwonymi krzyżykami” na które klikamy (LPM) i wybieramy pierwszą opcję (dodawanie bibliotek Java).
Obrazek
Teraz naszą funkcję o nazwie „ListaPortow()” wklejamy do model komponentu „comboBox”. W tym celu należ odnaleźć w procedurze: „private void initComponents() { … }” następujący zapis:
Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

I zmienić go na zapis:
Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Od tego momentu w komponencie „comboBox” będą widoczne wszystkie porty COM.
Teraz zajmniemy się „żaróweczki z żółtymi wykrzyknikami” począwszy od góry kodu. I tak klikając na żaróweczkę przy wybrać przeważnie pierwszą opcję, ale nie zawsze. Model komponentu JComboBox w tym przypadku jest typu String, więc zmień:
Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

na:
Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

a potem już tylko kliknąć na “żaróweczki…” przy
Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

i zgadzając się z pierwszą opcją zmienić na
Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

podobnie postępujemu z modelem „comboBox_1”
Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

na:
Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Aby zobaczyć nasze dzieło (co prawda jeszcze nie skończone) należy kliknąć na górnej belce środowiska Eclipse: zapis (Save All) i uruchamianie (Run Terminal).
Obrazek
A oto całość w tym etapie pisania kodu – za tydzień dalej go będziemy pisać (bo już jest późno, a i ja jestem trochę dziś zmęczony).

Piotr

Składnia: [ Pobierz ] [ Ukryj ]
język java
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2014, o 13:59 
Offline
Użytkownik

Dołączył(a): 10 lip 2013
Posty: 93
Lokalizacja: Puławy
Pomógł: 0

Naprawdę wielkie dzięki za to. Bardzo mi się to przyda - nie będę musiał się już uczyć C# :P
Pozdrawiam i czekam na więcej.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2014, o 23:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sie 2012
Posty: 52
Lokalizacja: Toruń
Pomógł: 1

Fajnie, że ktoś ten mój poradnik czyta - to mnie motywuje do dalszego pisania tego poradnika.
W przyszłym tygodniu będą procedury: otwierania, wysyłania, odbierania i zamykania portu szeregowego RS232 (COM), a to wszystko "opakowane" w zdarzenia wywołane przez kliknięcie w komponent (np. javax.swing.JButton).
A w późniejszym tygodniu tak na deser zrobimy sobie aplikację konwertującą plik *.jar na plik *.exe wykorzystując skrypt hindusa pana Sri Harsha Chilakapati oraz klasę javax.swing.SwingWorker - klasę umożliwiającą pracę w tle, przez co nie zatrzymuje(zacina) się nasza aplikacja podczas dużych obliczeń konwertujących plik *.jar na *.exe. Te obliczenia są wykonywane w tle.

Piotr



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 mar 2014, o 09:53 
Offline
Użytkownik

Dołączył(a): 10 lip 2013
Posty: 93
Lokalizacja: Puławy
Pomógł: 0

Cytuj:
Fajnie, że ktoś ten mój poradnik czyta - to mnie motywuje do dalszego pisania tego poradnika.

Jak tylko nauczyłem się trochę programować to już chciałem używać portów i komunikacji ale nie znałem działających i udokumentowanych bibliotek, bo chciałem sobie wykresiki temperatur z czujników itp. robić i różne takie. A tu taka niespodzianka - może teraz wreszcie napiszę taki program odczytujący przesyłane dane z procka i na wykres go. A może nawet jakiś mały Data Mining :) Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 mar 2014, o 17:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sie 2012
Posty: 52
Lokalizacja: Toruń
Pomógł: 1

Jeżeli interesuje Ciebie komunikacja języka Java bezpośrednio przez USB komputera to polecam bibliotekę Węgra pana Peter Kocsis o nazwie "JavaFTD2XX-0.2.6.jar" do ściągnięcia ze strony https://kenai.com/projects/javaftd2xx/downloads. Przykład zastosowania jest na stronie https://kenai.com/projects/javaftd2xx/pages/Home , a źródełka są na stronie https://github.com/pkocsis/JavaFTD2XX do ściągnięcia cała paczka pod klawiszem o nazwie "Download ZIP". Radzę dokładnie przeanalizować te żródełeka a szczególnie pliku "FTDevice.java" w celu nauczenia się jak tę bibliotekę wykorzystać.
Ja chętnie z niej korzystam, kiedyś napisałem w oparciu o tą bibliotekę aplikację do komunikacji mojego laptopa z termometrem DS1820 o nazwie "FT232 i Ds1820 w javie" http://www.elektroda.pl/rtvforum/topic2116605.html



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO