2014-06-17 215 views
1

我開發了一個用於天氣測量的arduino項目,並且我使用了gui的visual basic。 一切工作正常與量表,數據庫連接和其他的東西!現在我想嘗試我的缺點,並在java中寫入相同的東西。我寫了一個帶有串行通信的小型gui,並以jlabels顯示傳入的數據。但是現在我想在這裏使用量表......他們看起來很酷!我發現了很棒的鋼鐵系列,但我不知道從哪裏開始。我已經在我的項目中導入了庫和junit,但是現在我在java和eclipse中是盲目的,新的。對於gui,我使用了窗口構建器插件。有沒有人知道如何開始使用圖書館?Java SteelSeries Library分步指南

謝謝!

回答

2

您可以在Harmonic Code上找到許多SteelSeries測量儀的示例。如果你是Swing的新手,那麼從Swing tutorials開始。

下面是演示如何創建一個簡單的表和它的值設置一個非常簡單的例子:

enter image description here

import java.awt.BorderLayout; 
import java.awt.Dimension; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.JTextField; 
import javax.swing.SwingUtilities; 
import eu.hansolo.steelseries.gauges.Radial; 


public class TestGauge { 
    private static void createAndShowUI() { 
     final JFrame frame = new JFrame(); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setLocationByPlatform(true); 

     JPanel panel = new JPanel() { 
      @Override 
      public Dimension getPreferredSize() { 
       return new Dimension(300, 300); 
      } 
     }; 

     final Radial gauge = new Radial(); 
     gauge.setTitle("Demo title"); 
     gauge.setUnitString("Some units"); 

     panel.setLayout(new BorderLayout()); 
     panel.add(gauge, BorderLayout.CENTER); 
     frame.add(panel); 

     JPanel buttonsPanel = new JPanel(); 
     JLabel valueLabel = new JLabel("Value:"); 

     final JTextField valueField = new JTextField(7); 
     valueField.setText("30"); 
     JButton button = new JButton("Set"); 
     button.addActionListener(new ActionListener(){ 
      @Override 
      public void actionPerformed(ActionEvent e) { 
       try { 
        double value = Double.valueOf(valueField.getText()); 
        gauge.setValueAnimated(value); 
       } catch(NumberFormatException ex) { 
        //TODO - handle invalid input 
        System.err.println("invalid input"); 
       } 
      } 
     }); 

     buttonsPanel.add(valueLabel); 
     buttonsPanel.add(valueField); 
     buttonsPanel.add(button); 

     frame.add(buttonsPanel, BorderLayout.NORTH); 

     frame.pack(); 
     frame.setVisible(true); 
    } 

    public static void main(String[] args) { 
     SwingUtilities.invokeLater(new Runnable() { 
      public void run() { 
       createAndShowUI(); 
      } 
     }); 
    } 
} 
+2

我愛諧波代碼+1 – MadProgrammer

+0

非常感謝您!這個例子是一個非常好的入門點!現在我已經在我的gau :) – user3572380