Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。
                            
                        
                    
                
            
                    
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        5年前关闭。
                    
                
        

我已经开发了一个用于天气测量的arduino项目,并且为GUI使用了Visual Basic。
一切都可以与仪表,数据库连接和其他功能配合使用!现在,我想尝试我的不足并在Java中编写相同的内容。我用串行通信编写了一个小gui,并在jlabels中显示了传入的数据。但是现在我也想在这里使用压力表..它们看起来很酷!我发现了钢制系列太棒了,但是我不知道从哪里开始。我已经在我的项目中导入了库和junit,但是现在我对java和eclipse还是盲目了。是否有人知道如何开始使用该库?

谢谢!!

最佳答案

您可以在Harmonic Code上找到许多SteelSeries压力表的示例。如果您不熟悉Swing,请从Swing tutorials开始。

这是一个非常基本的示例,演示了如何创建一个简单的量规并设置其值:



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();
            }
        });
    }
}

09-10 09:06