<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=56&amp;t=20923&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-06-28T13:02:32+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=56&amp;t=20923&amp;mode</id>
<entry>
<author><name><![CDATA[micky]]></name></author>
<updated>2018-06-28T13:02:32+01:00</updated>
<published>2018-06-28T13:02:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20923&amp;p=209367#p209367</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20923&amp;p=209367#p209367"/>
<title type="html"><![CDATA[Re: Tworzenie pierwszej aplikacji w Java]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20923&amp;p=209367#p209367"><![CDATA[
Dzięki - trza się będzie przy okazji pobawić <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1546">micky</a> — 28 cze 2018, o 13:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-06-27T22:27:37+01:00</updated>
<published>2018-06-27T22:27:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20923&amp;p=209361#p209361</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20923&amp;p=209361#p209361"/>
<title type="html"><![CDATA[Re: Tworzenie pierwszej aplikacji w Java]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20923&amp;p=209361#p209361"><![CDATA[
No PIĘKNY kursik <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... jak na dobry start z JAVA'ą<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 27 cze 2018, o 22:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[uksta1024]]></name></author>
<updated>2018-06-27T22:14:38+01:00</updated>
<published>2018-06-27T22:14:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20923&amp;p=209360#p209360</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20923&amp;p=209360#p209360"/>
<title type="html"><![CDATA[Re: Tworzenie pierwszej aplikacji w Java]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20923&amp;p=209360#p209360"><![CDATA[
Teraz przedstawię, jak powstała aplikacja na konkurs Rycerski, który to mnie nakłonił do stworzenia aplikacji w Java. <br /><br />Utworzę aplikacje podobną to tej:<br /><a href="https://obrazkiforum.atnel.pl/19660/b09e6fe87d50abc2806dea686e758709.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/b09e6fe87d50abc2806dea686e758709.png" alt="Obrazek" /></a><br /><br />Dodanie bibliotek LIBUSB do projektu:<br />Pobieram pliki biblioteki w formacie *. jar ze strony <!-- m --><a class="postlink" href="http://usb4java.org/" >http://usb4java.org/</a><!-- m --> <br />Archiwum zip pobieram z  download, jest to plik usb4java-1.2.0.zip, następnie wypakowuję z archiwum pliki do folderu.<br /><br /><a href="https://obrazkiforum.atnel.pl/19660/923ac583438ecb7b711a8c985e900b88.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/923ac583438ecb7b711a8c985e900b88.png" alt="Obrazek" /></a><br /><br />Dodaję pobraną bibliotekę do projektu:<br />Menu Project &gt; Properties &gt; zakladka Libraries &gt; Add external Jar<br />Zaznaczam 3 pliki, zgodnie z architekturą komputera I posiadanym systemem operacyjnym.<br /><br /><a href="https://obrazkiforum.atnel.pl/19660/9d83650d17ed7b2d410ff34fb68218a1.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/9d83650d17ed7b2d410ff34fb68218a1.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/04bf50941eaf8820a2ab4b4613c5537d.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/04bf50941eaf8820a2ab4b4613c5537d.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/9c09979bcecd17f99b8ad511ca7880f5.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/9c09979bcecd17f99b8ad511ca7880f5.png" alt="Obrazek" /></a><br /><br />Tak wygląda okno Eclipse z projektem o nazwie Pianka2 w wersji Javy 1.7,  z dodanym okienkiem Frame1 i dodanymi bibliotekami LibUSB. Jeśli w tym miejscu usuniemy kod i wkleimy ten z końca poradnika uzyskamy gotową aplikacje.<br /><br /><a href="https://obrazkiforum.atnel.pl/19660/10fecda9c83e04302f95e6e8d8b41045.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/10fecda9c83e04302f95e6e8d8b41045.png" alt="Obrazek" /></a><br /><br />Teraz dodam przyciski, labele, texbox ….<br />Robie dwuklik na nazwie pliki jFrame1.java i klikam Design.<br />Aby wstawiać elementy w dowolnym miejscu klikam Absolute layoyt i klikam na okno aplikacji.<br />Utworze aplikacje podobną do tej z poradnika:<br />1.Dodaje label informacyjny.<br />2.Dodaje textbox, będzie informował czy jest podłączony USBASP<br />3.Dodaję 2 buttony<br />4.Dodaję suwak i textbox do niego<br />5.Konfiguruje 2 timery<br /><br /><a href="https://obrazkiforum.atnel.pl/19660/33314d53134d74c7918b5a43aad143cf.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/33314d53134d74c7918b5a43aad143cf.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/3c3479e086e0aad9bde070157d19980a.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/3c3479e086e0aad9bde070157d19980a.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/ffc71fff7eb2eba355c1fabccc77b0a6.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/ffc71fff7eb2eba355c1fabccc77b0a6.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/2942f2c157beef1b0105b518017ea1c0.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/2942f2c157beef1b0105b518017ea1c0.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/483d7c60e64171981b95128f7c8ce9a8.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/483d7c60e64171981b95128f7c8ce9a8.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/b9f71175968c905eaa5dd28b37bd52b9.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/b9f71175968c905eaa5dd28b37bd52b9.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/ced4a28f99dec4c8ba5d31c147d6190b.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/ced4a28f99dec4c8ba5d31c147d6190b.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/041da37b571c86c66929d0349b0a3a05.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/041da37b571c86c66929d0349b0a3a05.png" alt="Obrazek" /></a><br /><br />Kod wygląda teraz tak:<br />[syntax=java]import java.awt.EventQueue;<br /><br />import javax.swing.JFrame;<br />import javax.swing.JTextField;<br />import java.awt.Color;<br />import java.awt.Font;<br />import javax.swing.SwingConstants;<br />import javax.swing.JLabel;<br />import javax.swing.JButton;<br />import javax.swing.JScrollBar;<br />import java.awt.SystemColor;<br /><br />public class JFrame1 {<br /><br />private JFrame frame;<br />private JTextField txtCzyJestUsbasp;<br />private JTextField textResult;<br /><br />/**<br /> * Launch the application.<br /> */<br />public static void main(String&#91;&#93; args) {<br />EventQueue.invokeLater(new Runnable() {<br />public void run() {<br />try {<br />JFrame1 window = new JFrame1();<br />window.frame.setVisible(true);<br />} catch (Exception e) {<br />e.printStackTrace();<br />}<br />}<br />});<br />}<br /><br />/**<br /> * Create the application.<br /> */<br />public JFrame1() {<br />initialize();<br />}<br /><br />/**<br /> * Initialize the contents of the frame.<br /> */<br />private void initialize() {<br />frame = new JFrame();<br />frame.setBounds(100, 100, 450, 300);<br />frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);<br />frame.getContentPane().setLayout(null);<br /><br />JLabel lblPinakaV = new JLabel(&quot;tester API USBASP in JAVA&quot;);<br />lblPinakaV.setHorizontalAlignment(SwingConstants.RIGHT);<br />lblPinakaV.setBounds(268, 0, 156, 14);<br />frame.getContentPane().add(lblPinakaV);<br /><br />txtCzyJestUsbasp = new JTextField();<br />txtCzyJestUsbasp.setText(&quot;CZY JEST USBASP?&quot;);<br />txtCzyJestUsbasp.setHorizontalAlignment(SwingConstants.CENTER);<br />txtCzyJestUsbasp.setFont(new Font(&quot;Tahoma&quot;, Font.BOLD, 12));<br />txtCzyJestUsbasp.setEditable(false);<br />txtCzyJestUsbasp.setColumns(10);<br />txtCzyJestUsbasp.setBackground(Color.PINK);<br />txtCzyJestUsbasp.setBounds(278, 227, 156, 35);<br />frame.getContentPane().add(txtCzyJestUsbasp);<br /><br />JButton btnstart = new JButton(&quot;start&quot;);<br />btnstart.setBounds(101, 71, 89, 23);<br />frame.getContentPane().add(btnstart);<br /><br />JButton btnstop = new JButton(&quot;stop&quot;);<br />btnstop.setBounds(230, 71, 89, 23);<br />frame.getContentPane().add(btnstop);<br /><br />JScrollBar scrollBar = new JScrollBar();<br />scrollBar.setValue(1);<br />scrollBar.setOrientation(JScrollBar.HORIZONTAL);<br />scrollBar.setMinimum(1);<br />scrollBar.setMaximum(5010);<br />scrollBar.setBlockIncrement(1);<br />scrollBar.setBackground(Color.GRAY);<br />scrollBar.setBounds(48, 132, 386, 17);<br />frame.getContentPane().add(scrollBar);<br /><br />textResult = new JTextField();<br />textResult.setText(&quot;1&quot;);<br />textResult.setHorizontalAlignment(SwingConstants.CENTER);<br />textResult.setFont(new Font(&quot;Tahoma&quot;, Font.BOLD | Font.ITALIC, 11));<br />textResult.setEditable(false);<br />textResult.setColumns(10);<br />textResult.setBackground(SystemColor.menu);<br />textResult.setBounds(0, 132, 49, 17);<br />frame.getContentPane().add(textResult);<br />}<br />}[/syntax]<br /><br />A tak wygląda uruchomiona aplikacja:<br /><br /><a href="https://obrazkiforum.atnel.pl/19660/8b4ea1ab550fe8d42d9c424b0bc0d1ca.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/8b4ea1ab550fe8d42d9c424b0bc0d1ca.png" alt="Obrazek" /></a><br /><br />Następnie pozostaje napisać trochę kodu:<br />Wykrywanie USBASP<br />Dodaje zmienne:<br />[syntax=java]public boolean vCzyUSBASP;<br />public Device USBASPDevice;[/syntax]<br /><br />Device jest nie znane, klikam Import Device (org.usb4java)<br /><br /><a href="https://obrazkiforum.atnel.pl/19660/74ccd3c71416d0a8de44938815872b05.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/74ccd3c71416d0a8de44938815872b05.png" alt="Obrazek" /></a><br /><br />Eclipse dodaje te linię i kompilacja przebiega bez błędu.<br />[syntax=java]import org.usb4java.Device;[/syntax]<br /><br />w ten sposób Eclipse dodaje potrzebne import<br /><br />Dodałem Znajdz_USBASP i dodaję timery, jeden będzie co sekundę sprawdzał czy jest podłączony USBASP a drugi będzie miał za zadanie migać ledem o zmiennym interwale czasowym w zakresie od 1 do 5000 ms, wypieranym suwakiem.<br /><br />Dla timerów potrzebne są:<br />[syntax=java]import javax.swing.Timer;<br />import java.awt.event.ActionListener;<br />import java.awt.event.ActionEvent;[/syntax]<br /><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/233d8bfc50ec0abc81700b32145ade9f.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/233d8bfc50ec0abc81700b32145ade9f.png" alt="Obrazek" /></a><br /><br />Test aplikacji.<br />Po uruchomieniu:<br /><br /><a href="https://obrazkiforum.atnel.pl/19660/a55e569900dad98e960ab1a77e19ba98.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/a55e569900dad98e960ab1a77e19ba98.png" alt="Obrazek" /></a><br /><br />Po 1 sekundzie:<br /><a href="https://obrazkiforum.atnel.pl/19660/23c293e6bb51b9811c4f565f1133da48.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/23c293e6bb51b9811c4f565f1133da48.png" alt="Obrazek" /></a><br /><br />Po włożeniu usbasp do portu komputera:<br /><br /><a href="https://obrazkiforum.atnel.pl/19660/e1f9f33012b2e4e005a93b25d91e83d8.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/e1f9f33012b2e4e005a93b25d91e83d8.png" alt="Obrazek" /></a><br /><br />Tworzenie aplikacji Piank2.jar czyli pliku który można uruchomić jak plik exe :<br />Klikam File &gt; Export <br />następnie Java &gt; Runable Jar File &gt; Next<br />wybieram project i miejsce w którym zapisany ma być plik Pianka2.jar i klikam Finish.<br /><br /><a href="https://obrazkiforum.atnel.pl/19660/96793f6dc23b33284910026d1a64c6f5.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/96793f6dc23b33284910026d1a64c6f5.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/e9fbf0062cba479fb7f204364087a15d.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/e9fbf0062cba479fb7f204364087a15d.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/6fc2bb84fcebf216c21c61ff13361e95.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/6fc2bb84fcebf216c21c61ff13361e95.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/2b2c0a1e3bb07c516860449290f13910.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/2b2c0a1e3bb07c516860449290f13910.png" alt="Obrazek" /></a><br /><br />Ostateczny kod aplikacji:<br /><br />[syntax=java]import java.awt.EventQueue;<br /><br />import javax.swing.JFrame;<br />import javax.swing.JTextField;<br />import java.awt.Color;<br />import java.awt.Font;<br />import javax.swing.SwingConstants;<br /><br />import javax.swing.Timer;<br />import java.awt.event.ActionListener;<br />import java.awt.event.ActionEvent;<br /><br /><br />import org.usb4java.Context;<br />import org.usb4java.Device;<br />import org.usb4java.DeviceDescriptor;<br />import org.usb4java.DeviceHandle;<br />import org.usb4java.DeviceList;<br />import org.usb4java.LibUsb;<br />import org.usb4java.LibUsbException;<br /><br />import javax.swing.JLabel;<br />import javax.swing.JButton;<br />import javax.swing.JScrollBar;<br />import java.awt.SystemColor;<br />import java.awt.event.AdjustmentListener;<br />import java.nio.ByteBuffer;<br />import java.awt.event.AdjustmentEvent;<br /><br /><br />public class JFrame1 {<br /><br />public boolean vCzyUSBASP;<br />public Device USBASPDevice;<br />public int vtimer=100;<br /><br />public Byte USBASP_I2C_BITBANG_ON = (byte) 124;<br />public Byte USBASP_I2C_BITBANG_OFF = (byte) 125;<br />public Byte USBASP_I2C_SDA_HI = (byte) 126;<br />public Byte USBASP_I2C_SDA_LO = (byte) 127;<br />public Byte USBASP_I2C_SCL_HI = (byte) 128;<br />public Byte USBASP_I2C_SCL_LO = (byte) 129;<br /><br />private JFrame frame;<br />private JTextField txtCzyJestUsbasp;<br />private JTextField textResult;<br /><br /><br />//TIMER 1s<br />Timer  timer=new Timer(1000,new ActionListener(){<br />        public void actionPerformed(ActionEvent e)<br />    {vCzyUSBASP=znajdzUSBASP();<br />        if (vCzyUSBASP==true) {<br />        txtCzyJestUsbasp.setBackground(Color.GREEN);<br />        txtCzyJestUsbasp.setText(&quot;ATBUSBASP wykryty&quot;);<br />        }else {<br />        txtCzyJestUsbasp.setBackground(Color.PINK);<br />        txtCzyJestUsbasp.setText(&quot;brak ATBUSBASP&quot;);<br />        }<br />        <br />    }<br />    });<br />//TIMER LED<br />Timer  timerLED=new Timer(vtimer,new ActionListener(){<br />        public void actionPerformed(ActionEvent e)<br />    {<br />        if ( textResult.getBackground()==SystemColor.menu ) <br />        {sendCMD(USBASP_I2C_SDA_LO);<br />        sendCMD(USBASP_I2C_SCL_HI);<br />        textResult.setBackground(Color.GREEN);<br />        }else <br />        {<br />        textResult.setBackground(SystemColor.menu);<br />        sendCMD(USBASP_I2C_SDA_HI);<br />        sendCMD(USBASP_I2C_SCL_LO);<br />        }<br />    }<br />    });<br /><br /><br />/**<br /> * Launch the application.<br /> */<br /><br />public static void main(String&#91;&#93; args) {<br />EventQueue.invokeLater(new Runnable() {<br />public void run() {<br />try {<br />JFrame1 window = new JFrame1();<br />window.frame.setVisible(true);<br />} catch (Exception e) {<br />e.printStackTrace();<br />}<br />}<br />});<br />}<br /><br />/**<br /> * Create the application.<br /> */<br /><br />public JFrame1() {<br /><br />initialize();<br /><br />timer.start();<br />}<br /><br />/**<br /> * Initialize the contents of the frame.<br /> */<br />private void initialize() {<br /><br />frame = new JFrame();<br />frame.setBounds(100, 100, 450, 300);<br />frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);<br />frame.getContentPane().setLayout(null);<br /><br />JLabel lblPinakaV = new JLabel(&quot;tester API USBASP in JAVA&quot;);<br />lblPinakaV.setHorizontalAlignment(SwingConstants.RIGHT);<br />lblPinakaV.setBounds(268, 0, 156, 14);<br />frame.getContentPane().add(lblPinakaV);<br /><br />txtCzyJestUsbasp = new JTextField();<br />txtCzyJestUsbasp.setText(&quot;CZY JEST USBASP?&quot;);<br />txtCzyJestUsbasp.setHorizontalAlignment(SwingConstants.CENTER);<br />txtCzyJestUsbasp.setFont(new Font(&quot;Tahoma&quot;, Font.BOLD, 12));<br />txtCzyJestUsbasp.setEditable(false);<br />txtCzyJestUsbasp.setColumns(10);<br />txtCzyJestUsbasp.setBackground(Color.PINK);<br />txtCzyJestUsbasp.setBounds(278, 227, 156, 35);<br />frame.getContentPane().add(txtCzyJestUsbasp);<br /><br />JButton btnstart = new JButton(&quot;start&quot;);<br />btnstart.addActionListener(new ActionListener() {<br />public void actionPerformed(ActionEvent arg0) {<br />timerLED.start();<br />sendCMD(USBASP_I2C_BITBANG_ON);<br />}<br />});<br />btnstart.setBounds(101, 71, 89, 23);<br />frame.getContentPane().add(btnstart);<br /><br />JButton btnstop = new JButton(&quot;stop&quot;);<br />btnstop.addActionListener(new ActionListener() {<br />public void actionPerformed(ActionEvent e) {<br />timerLED.stop();<br />sendCMD(USBASP_I2C_BITBANG_OFF);<br />textResult.setBackground(SystemColor.menu);<br />}<br />});<br />btnstop.setBounds(230, 71, 89, 23);<br />frame.getContentPane().add(btnstop);<br /><br /><br /><br />textResult = new JTextField();<br />textResult.setText(&quot;1&quot;);<br />textResult.setHorizontalAlignment(SwingConstants.CENTER);<br />textResult.setFont(new Font(&quot;Tahoma&quot;, Font.BOLD | Font.ITALIC, 11));<br />textResult.setEditable(false);<br />textResult.setColumns(10);<br />textResult.setBackground(SystemColor.menu);<br />textResult.setBounds(0, 132, 49, 17);<br />frame.getContentPane().add(textResult);<br /><br />JScrollBar scrollBar = new JScrollBar();<br />scrollBar.addAdjustmentListener(new AdjustmentListener() {<br />public void adjustmentValueChanged(AdjustmentEvent e) {<br />vtimer =e.getValue(); <br />timerLED.setDelay(vtimer);<br />textResult.setText(Integer.toString(vtimer));<br /><br />}<br />});<br /><br />scrollBar.setValue(1000);<br />scrollBar.setOrientation(JScrollBar.HORIZONTAL);<br />scrollBar.setMinimum(1);<br />scrollBar.setMaximum(5000);<br />scrollBar.setBlockIncrement(1);<br />scrollBar.setBackground(Color.GRAY);<br />scrollBar.setBounds(48, 132, 386, 17);<br />frame.getContentPane().add(scrollBar);<br /><br />}<br /><br /><br />public boolean znajdzUSBASP()<br />{<br />int result;  <br /><br />Context context = new Context();<br />result = LibUsb.init(context);<br />if (result != LibUsb.SUCCESS) throw new LibUsbException(&quot;Unable to initialize libusb.&quot;, result);<br /><br /><br />    // Read the USB device list<br />    DeviceList list = new DeviceList();<br />    result = LibUsb.getDeviceList(null, list);<br />    if (result &lt; 0) throw new LibUsbException(&quot;Unable to get device list&quot;, result);<br /><br />    try<br />    {<br />        // Iterate over all devices and scan for the right one<br />        for (Device device: list)<br />        {<br />            DeviceDescriptor descriptor = new DeviceDescriptor();<br />            result = LibUsb.getDeviceDescriptor(device, descriptor);<br />            if (result != LibUsb.SUCCESS) throw new LibUsbException(&quot;Unable to read device descriptor&quot;, result);<br />            if (descriptor.idVendor() == 5824 &amp;&amp; descriptor.idProduct() == 1500) {<br />            USBASPDevice = device;<br />            //LibUsb.exit(context);<br />            return true;<br />            }<br />        }<br />    }<br />    finally {<br />        // Ensure the allocated device list is freed<br />        LibUsb.freeDeviceList(list, false);<br />    <br />        if (USBASPDevice != null) {<br />        // Device found<br />        LibUsb.refDevice(USBASPDevice);<br />    }<br />    }<br /><br />    // Device not found<br />    USBASPDevice = null;<br />    return false;<br />}<br /><br />public void sendCMD(byte request) {<br />int timeout = 0;<br />DeviceHandle handle = new DeviceHandle();<br />int result = LibUsb.open(USBASPDevice, handle);<br />if (result != LibUsb.SUCCESS) throw new LibUsbException(&quot;Unable to open USB device&quot;, result);<br />try<br />{<br />    // Use device handle here<br />ByteBuffer buffer = ByteBuffer.allocateDirect(8);<br />//buffer.put(new byte&#91;&#93; { 1, 2, 3, 4, 5, 6, 7, 8 });<br />int transfered = LibUsb.controlTransfer(handle, <br />    (byte) 0x40,<br />    (byte) request, (short) 0, (short) 0, buffer, timeout);<br />//if (transfered &lt; 0) throw new LibUsbException(&quot;Control transfer failed&quot;, transfered);<br /><br />}<br />finally<br />{<br />    LibUsb.close(handle);<br />}<br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=19660">uksta1024</a> — 27 cze 2018, o 22:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[uksta1024]]></name></author>
<updated>2018-06-27T22:03:13+01:00</updated>
<published>2018-06-27T22:03:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20923&amp;p=209359#p209359</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20923&amp;p=209359#p209359"/>
<title type="html"><![CDATA[Tworzenie pierwszej aplikacji w Java]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20923&amp;p=209359#p209359"><![CDATA[
<img src="https://obrazkiforum.atnel.pl/54/a8f7e39fc97041cfa6b0a67169e6e632.jpg" alt="Obrazek" /><br />Nie programowałem wcześniej w Javie dla Windows, przedstawię poniżej jak napisać aplikację na podstawie mojej pierwszej aplikacji. <br />Uprzedzam, że nie jest to źródło wiedzy, mogę coś źle doradzić lub źle nazwać bo ja dopiero zaczynam w Javie, a tu chciałem przekazać jak ja wystartowałem od zera do aplikacji.<br /><br />Pobrałem środowisko  Eclipse Java z strony <!-- m --><a class="postlink" href="http://www.eclipse.org" >http://www.eclipse.org</a><!-- m -->.<br />Ja pobrałem plik: eclipse-java-oxygen-3a-win32.zip<br /><br />Pobrałem tez starsza wersje javy JRE1.7 i zainstalowałem w systemie Windows.<br />Starsza dlatego, że napisany program w nowszej wersji Javy będzie działał u nas, gdzie został skompilowany, ale już nie u kogoś kto nie ma tej nowej wersji a ma starszą jave.<br /><br /><a href="https://obrazkiforum.atnel.pl/19660/325a2721a4ac93577853ee67e1cf9b7c.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/325a2721a4ac93577853ee67e1cf9b7c.png" alt="Obrazek" /></a><br /><br />Pierwsze uruchomienie eclipse java:<br /><br /><a href="https://obrazkiforum.atnel.pl/19660/fa1694e076f75bf0eb25c8cc424a0eae.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/fa1694e076f75bf0eb25c8cc424a0eae.png" alt="Obrazek" /></a><br /><br />W Eclipse już można pisać aplikacje konsolowe, ja pierwszą chcę napisać okienkową, dlatego trzeba doinstalować SWING.<br />Wchodzimy w menu Help &gt; Install New Software…<br />I zaznaczamy w katalogu General Purpose Tools:<br />Swing Designer, SWT Designer, Windows Builder.<br /><br /><a href="https://obrazkiforum.atnel.pl/19660/eb82f7b997d4c41a24f61335a4fbf1e0.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/eb82f7b997d4c41a24f61335a4fbf1e0.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/b0cfcfade07e0ed8a245f1ec3178fa9a.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/b0cfcfade07e0ed8a245f1ec3178fa9a.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/b618116a0d81a64956caa58ce7856ef5.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/b618116a0d81a64956caa58ce7856ef5.png" alt="Obrazek" /></a><br /><br />Instalujemy i mamy gotowe środowisko Eclipse Java do tworzenia aplikacji okienkowych.<br /> <br />-<br />Tworzymy  Project Java okienkowy:<br />Menu File &gt; New &gt; Java Project<br /><br /><a href="https://obrazkiforum.atnel.pl/19660/fb347181c9abc7667ad8555c2c910c8f.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/fb347181c9abc7667ad8555c2c910c8f.png" alt="Obrazek" /></a><br /><br />Zmieniamy wersje Javy klikając w Configure JREs… <br />nastepnie ADD i wskazujemy miejsce zainstalowanej wcześniej Javy JRE7.<br /><br /><a href="https://obrazkiforum.atnel.pl/19660/54026e87c7a5f3a09855a430ed64a50b.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/54026e87c7a5f3a09855a430ed64a50b.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/c68d51f05ea7910039229cdc990f6d89.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/c68d51f05ea7910039229cdc990f6d89.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/69f4fb370f282d75750eefd57a4e051d.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/69f4fb370f282d75750eefd57a4e051d.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/63f93c6054854803c0c0646ff6a60dba.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/63f93c6054854803c0c0646ff6a60dba.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/94dc20fcc7179a246d0ecd7f39f24333.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/94dc20fcc7179a246d0ecd7f39f24333.png" alt="Obrazek" /></a><br /><br />Do utworzonego Projektu o nazwie Pianka2 dodajemy plik java o nazwie jFrame1.java w którym będziemy pisać kod aplikacji:<br />Kilkamy w menu File &gt; New &gt; Other <br />Wybieram - WindowBuilder &gt; Swing Designer &gt; Application Window &gt; Next<br />Nadaję nazwę jFrame1 &gt; Finish<br /><br /><a href="https://obrazkiforum.atnel.pl/19660/e6c4c1c7707dc53396b0a112206c3c3b.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/e6c4c1c7707dc53396b0a112206c3c3b.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/146f46bf7aa1b2c597c4758134b47e98.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/146f46bf7aa1b2c597c4758134b47e98.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/b2ef66725d0d12780d5078684440ae18.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/b2ef66725d0d12780d5078684440ae18.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/19660/a886cf0b44c3aae20799ce828ec3bc8c.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/a886cf0b44c3aae20799ce828ec3bc8c.png" alt="Obrazek" /></a><br /><br />Taki kod pustej aplikacji utworzył Eclipse:<br /><br />[syntax=java]import java.awt.EventQueue;<br />import javax.swing.JFrame;<br />public class JFrame1 {<br /><br />private JFrame frame;<br /><br />/**<br /> * Launch the application.<br /> */<br />public static void main(String&#91;&#93; args) {<br />EventQueue.invokeLater(new Runnable() {<br />public void run() {<br />try {<br />JFrame1 window = new JFrame1();<br />window.frame.setVisible(true);<br />} catch (Exception e) {<br />e.printStackTrace();<br />}<br />}<br />});<br />}<br /><br />/**<br /> * Create the application.<br /> */<br />public JFrame1() {<br />initialize();<br />}<br /><br />/**<br /> * Initialize the contents of the frame.<br /> */<br />private void initialize() {<br />frame = new JFrame();<br />frame.setBounds(100, 100, 450, 300);<br />frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);<br />}<br /><br />}[/syntax]<br /><br />Klikamy menu Run &gt; Run i widzimy naszą aplikację.<br /><br /><a href="https://obrazkiforum.atnel.pl/19660/0a44837b5eca50f811fe1b48e4849f11.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/0a44837b5eca50f811fe1b48e4849f11.png" alt="Obrazek" /></a><br /><br />Aby powiększyć obszar pracy z jFrame1.java klikamy dwa razy na napis, ponowne dwukrotne kliknięcie przywraca układ w Eclipse.<br /><br /><a href="https://obrazkiforum.atnel.pl/19660/34f15cd8124bea83c9e44b5c24f7a634.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/34f15cd8124bea83c9e44b5c24f7a634.png" alt="Obrazek" /></a><br /><br />Dwuklik<br /><br /><a href="https://obrazkiforum.atnel.pl/19660/a2ea115fd45b36aebf44aef0a874019d.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/19660/a2ea115fd45b36aebf44aef0a874019d.png" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=19660">uksta1024</a> — 27 cze 2018, o 22:03</p><hr />
]]></content>
</entry>
</feed>