0

気象測定用のarduinoプロジェクトを開発し、GUIにビジュアルベーシックを使用しました。ゲージ、データベース接続などですべて正常に動作します! 今、私は自分の不足を試して、同じことをJavaで書きたいと思っています。シリアル通信を使用し、着信データを jlabels に表示する小さな GUI を作成しました。でも今はここにもゲージを使いたい..カッコいい!素晴らしい Steelseries を見つけましたが、どこから始めればよいかわかりません。私は自分のプロジェクトにライブラリとjunitをインポートしましたが、今ではJavaとEclipseで盲目で新しい.. GUIにはウィンドウビルダープラグインを使用しています。図書館を使い始める方法を知っている人はいますか?

ありがとうございました!!

4

1 に答える 1

3

Harmonic Codeで SteelSeries ゲージの多くの例を見つけることができます。Swing を初めて使用する場合は、Swing チュートリアルから始めてください。

以下は、単純なゲージを作成してその値を設定する方法を示す非常に基本的な例です。

ここに画像の説明を入力

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();
            }
        });
    }
}
于 2014-06-17T23:05:41.683 に答える