Problem with sending out variable to serial port using api JAVA
- by sjaakensjon
We are developing a java program for school. But we are experiencing problems with sending out a variable created by 3 sliders. The idea is that we have 3 sliders. One slider for every color. Red green and blue. The variable has to have a value between 0 and 255. Everytime the value of the slider changes is has to send a variable for the channel, that value is 1, 2 ,3. And after that it has to send the value of the slider through the serial port.
Could you please help us out by creating an example program?
Below is our code so far.
Thanks in advance.
Sjaak
package main;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import app.Com;
import app.Parameters;
public class menu{
JSlider sliderblauw;
JLabel hoeveelblauw;
JLabel blauw;
JLabel rood;
JSlider sliderrood;
JLabel hoeveelrood;
JLabel groen;
JLabel hoeveelgroen;
JSlider slidergroen;
public menu(){
Frame venster = new JFrame("Color control");
JPanel blauwinstel = new JPanel();
((JFrame) venster).setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
venster.setSize(500, 500);
venster.setVisible(true);
sliderblauw = new JSlider(JSlider.VERTICAL, 0, 255, 0);
sliderblauw.addChangeListener(new veranderingblauw());
hoeveelblauw = new JLabel ("0");
blauwinstel.add(sliderblauw);
blauwinstel.add(hoeveelblauw);
venster.add(blauwinstel, BorderLayout.WEST);
sliderblauw.setMajorTickSpacing(10);
sliderblauw.setPaintTicks(true);
JPanel roodinstel = new JPanel();
sliderrood = new JSlider(JSlider.VERTICAL, 0, 255, 0);
sliderrood.addChangeListener(new veranderingrood());
hoeveelrood = new JLabel ("0");
roodinstel.add(sliderrood);
roodinstel.add(hoeveelrood);
venster.add(roodinstel, BorderLayout.EAST);
sliderrood.setMajorTickSpacing(10);
sliderrood.setPaintTicks(true);
JPanel groeninstel = new JPanel();
slidergroen = new JSlider(JSlider.VERTICAL, 0, 255, 0);
slidergroen.addChangeListener(new veranderinggroen());
hoeveelgroen = new JLabel ("0");
groeninstel.add(slidergroen);
groeninstel.add(hoeveelgroen);
venster.add(groeninstel, BorderLayout.CENTER);
slidergroen.setMajorTickSpacing(10);
slidergroen.setPaintTicks(true);
}
public class veranderingblauw implements ChangeListener{
public void stateChanged(ChangeEvent ce){
int value = sliderblauw.getValue();
String waarde_blauw = Integer.toString(value);
hoeveelblauw.setText(waarde_blauw);
}}
public class veranderingrood implements ChangeListener{
public void stateChanged(ChangeEvent ce){
int value = sliderrood.getValue();
String waarde_rood = Integer.toString(value);
hoeveelrood.setText(waarde_rood);
}}
public class veranderinggroen implements ChangeListener{
public void stateChanged(ChangeEvent ce){
int value = slidergroen.getValue();
String waarde_groen = Integer.toString(value);
hoeveelgroen.setText(waarde_groen);
}}
public static void main( String[] args)
{
new menu();
}
}