Hallo,
also es ist so:
ich empfange ein Signal über den Com3 Eingang am PC,
diese Signale geben die Drehzahl einer Maschine wieder.
Was ich nun bräuchte ist eine grafische Darstellung dieser Signale.
Vorgestellt habe ich mir das als Balken der je nach Wert des Signals größer oder kleiner wird..
mein Problem ist nun die Programmierung dieses Balkens :bahnhof:
Hier ist mal der ganze Source-Code der bisher existiert:
[JAVA=42]public class DZM extends JFrame {
JPanel panel = new JPanel();
private JPanel contentPane;
/**
* @wbp.nonvisual location=56,59
*/
private final SerielleSchnittstelle serielleSchnittstelle = new SerielleSchnittstelle("COM3");
private JTextField textField;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
DZM frame = new DZM();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public DZM() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
textField = new JTextField();
textField.setColumns(10);
JLabel lblUmin = new JLabel("U/min");
JPanel jPanel = new JPanel();
jPanel.setBackground(Color.YELLOW);
GroupLayout gl_contentPane = new GroupLayout(contentPane);
gl_contentPane.setHorizontalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup()
.addContainerGap(81, Short.MAX_VALUE)
.addComponent(jPanel, GroupLayout.PREFERRED_SIZE, 159, GroupLayout.PREFERRED_SIZE)
.addGap(41)
.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup()
.addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addGap(57))
.addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup()
.addComponent(lblUmin, GroupLayout.PREFERRED_SIZE, 35, GroupLayout.PREFERRED_SIZE)
.addGap(84))))
);
gl_contentPane.setVerticalGroup(
gl_contentPane.createParallelGroup(Alignment.TRAILING)
.addGroup(Alignment.LEADING, gl_contentPane.createSequentialGroup()
.addGap(69)
.addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addGap(26)
.addComponent(lblUmin, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)
.addContainerGap(116, Short.MAX_VALUE))
.addGroup(gl_contentPane.createSequentialGroup()
.addContainerGap(56, Short.MAX_VALUE)
.addComponent(jPanel, GroupLayout.PREFERRED_SIZE, 170, GroupLayout.PREFERRED_SIZE)
.addGap(35))
);
contentPane.setLayout(gl_contentPane);
serielleSchnittstelle.addStringListener(new StringListener() {
public void stringReceived(StringEvent arg0) {
textField.setText(arg0.getStringReceived());
panel.setOpaque(true);
panel.setBackground(Color.yellow);
}
});
}
}
[/code]
ich wäre wirklich sehr dankbar für jegliche Hilfe
also es ist so:
ich empfange ein Signal über den Com3 Eingang am PC,
diese Signale geben die Drehzahl einer Maschine wieder.
Was ich nun bräuchte ist eine grafische Darstellung dieser Signale.
Vorgestellt habe ich mir das als Balken der je nach Wert des Signals größer oder kleiner wird..
mein Problem ist nun die Programmierung dieses Balkens :bahnhof:
Hier ist mal der ganze Source-Code der bisher existiert:
[JAVA=42]public class DZM extends JFrame {
JPanel panel = new JPanel();
private JPanel contentPane;
/**
* @wbp.nonvisual location=56,59
*/
private final SerielleSchnittstelle serielleSchnittstelle = new SerielleSchnittstelle("COM3");
private JTextField textField;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
DZM frame = new DZM();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public DZM() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
textField = new JTextField();
textField.setColumns(10);
JLabel lblUmin = new JLabel("U/min");
JPanel jPanel = new JPanel();
jPanel.setBackground(Color.YELLOW);
GroupLayout gl_contentPane = new GroupLayout(contentPane);
gl_contentPane.setHorizontalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup()
.addContainerGap(81, Short.MAX_VALUE)
.addComponent(jPanel, GroupLayout.PREFERRED_SIZE, 159, GroupLayout.PREFERRED_SIZE)
.addGap(41)
.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup()
.addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addGap(57))
.addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup()
.addComponent(lblUmin, GroupLayout.PREFERRED_SIZE, 35, GroupLayout.PREFERRED_SIZE)
.addGap(84))))
);
gl_contentPane.setVerticalGroup(
gl_contentPane.createParallelGroup(Alignment.TRAILING)
.addGroup(Alignment.LEADING, gl_contentPane.createSequentialGroup()
.addGap(69)
.addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addGap(26)
.addComponent(lblUmin, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)
.addContainerGap(116, Short.MAX_VALUE))
.addGroup(gl_contentPane.createSequentialGroup()
.addContainerGap(56, Short.MAX_VALUE)
.addComponent(jPanel, GroupLayout.PREFERRED_SIZE, 170, GroupLayout.PREFERRED_SIZE)
.addGap(35))
);
contentPane.setLayout(gl_contentPane);
serielleSchnittstelle.addStringListener(new StringListener() {
public void stringReceived(StringEvent arg0) {
textField.setText(arg0.getStringReceived());
panel.setOpaque(true);
panel.setBackground(Color.yellow);
}
});
}
}
[/code]
ich wäre wirklich sehr dankbar für jegliche Hilfe