Seriekommiunikationsklassen som dessutom skriver data till en fil.
Den här koden gör att man kan skicka data från tråden till SWT-GUI.
Exempel...
Kod: Markera allt
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Button;
import org.eclipse.wb.swt.SWTResourceManager;
import org.eclipse.swt.custom.CLabel;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Spinner;
public class NTC {
protected static Shell shlNtc;
private Text txtDatatxt;
private static final int DEFAULTBREAKTEMP = 100;
private static final String DEFAULTTEXTFILENAME = "data.txt";
private static final int DEFAULTBAUDRATE = 19200;
private static Serial arduinoSerial;
private ThreadController threadController;
private Thread threadControllerThread;
private Button btnStopp;
public Button btnExit;
private static TextFile textFile;
private TempDisplay tempDisplay;
private NTCDisplay ntcDisplay;
private String[] ImgLink = new String[12];
private CLabel LED_0;
private CLabel LED_1;
private CLabel LED_2;
private CLabel LED_3;
private CLabel LED_4;
private CLabel LED_5;
private CLabel LED_6;
private CLabel LED_7;
private CLabel LED_8;
private static NTC window;
private Display display;
private static final String LED0 = "/LED/LED_GREEN_0.jpg";
private static final String LED1 = "/LED/LED_GREEN_1.jpg";
private static final String LED2 = "/LED/LED_GREEN_2.jpg";
private static final String LED3 = "/LED/LED_GREEN_3.jpg";
private static final String LED4 = "/LED/LED_GREEN_4.jpg";
private static final String LED5 = "/LED/LED_GREEN_5.jpg";
private static final String LED6 = "/LED/LED_GREEN_6.jpg";
private static final String LED7 = "/LED/LED_GREEN_7.jpg";
private static final String LED8 = "/LED/LED_GREEN_8.jpg";
private static final String LED9 = "/LED/LED_GREEN_9.jpg";
private static final String LEDBLANK = "/LED/LED_GREEN_BLANK.jpg";
private static final String LEDMINUS = "/LED/LED_GREEN_MINUS.jpg";
private Composite composite;
private CLabel lblNewLabel_2;
private Spinner spinner;
/**
* Launch the application.
* @param args
*/
public static void main(String[] args) {
try {
window = new NTC();
window.open();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Open the window.
*/
public void open() {
display = Display.getDefault();
createContents();
shlNtc.open();
shlNtc.layout();
while (!shlNtc.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
}
/*
* Diverse Metoder. Vid tryck på knappen START i GUI så påbörjas en NTC-mätning.
* Den port Arduino är ansluten till öppnas och konfigureras. En fil
* med valbart namn skapas och data från Arduino läses in och lagras
* i filen. När mätningen är klar eller har stoppats stängs porten och
* filen med data.
*/
private void setUpLEDDisplay() {
ImgLink[0] = LED0;
ImgLink[1] = LED1;
ImgLink[2] = LED2;
ImgLink[3] = LED3;
ImgLink[4] = LED4;
ImgLink[5] = LED5;
ImgLink[6] = LED6;
ImgLink[7] = LED7;
ImgLink[8] = LED8;
ImgLink[9] = LED9;
ImgLink[10] = LEDBLANK;
ImgLink[11] = LEDMINUS;
LED_0 = new CLabel(shlNtc, SWT.NONE); // temperatur-display 3st LED
LED_1 = new CLabel(shlNtc, SWT.NONE);
LED_2 = new CLabel(shlNtc, SWT.NONE);
LED_3 = new CLabel(shlNtc, SWT.NONE); // NTC-display 6st LED
LED_4 = new CLabel(shlNtc, SWT.NONE);
LED_5 = new CLabel(shlNtc, SWT.NONE);
LED_6 = new CLabel(shlNtc, SWT.NONE);
LED_7 = new CLabel(shlNtc, SWT.NONE);
LED_8 = new CLabel(shlNtc, SWT.NONE);
LED_0.setImage(SWTResourceManager.getImage(NTC.class, LEDBLANK)); // bakgrundsbilder i form av 7-seg. LED
LED_1.setImage(SWTResourceManager.getImage(NTC.class, LEDBLANK));
LED_2.setImage(SWTResourceManager.getImage(NTC.class, LEDBLANK));
LED_3.setImage(SWTResourceManager.getImage(NTC.class, LEDBLANK));
LED_4.setImage(SWTResourceManager.getImage(NTC.class, LEDBLANK));
LED_5.setImage(SWTResourceManager.getImage(NTC.class, LEDBLANK));
LED_6.setImage(SWTResourceManager.getImage(NTC.class, LEDBLANK));
LED_7.setImage(SWTResourceManager.getImage(NTC.class, LEDBLANK));
LED_8.setImage(SWTResourceManager.getImage(NTC.class, LEDBLANK));
tempDisplay = new TempDisplay();
ntcDisplay = new NTCDisplay();
}
private void setTempGUIdisplayValue() {
int digit100 = tempDisplay.getLED100Value();
int digit10 = tempDisplay.getLED10Value();
int digit1 = tempDisplay.getLED1Value();
LED_0.setImage(SWTResourceManager.getImage(NTC.class, ImgLink[digit100]));
LED_1.setImage(SWTResourceManager.getImage(NTC.class, ImgLink[digit10]));
LED_2.setImage(SWTResourceManager.getImage(NTC.class, ImgLink[digit1]));
}
private void setNTCGUIdisplayValue() {
int digit100000 = ntcDisplay.getLED100000Value();
int digit10000 = ntcDisplay.getLED10000Value();
int digit1000 = ntcDisplay.getLED1000Value();
int digit100 = ntcDisplay.getLED100Value();
int digit10 = ntcDisplay.getLED10Value();
int digit1 = ntcDisplay.getLED1Value();
LED_3.setImage(SWTResourceManager.getImage(NTC.class, ImgLink[digit100000]));
LED_4.setImage(SWTResourceManager.getImage(NTC.class, ImgLink[digit10000]));
LED_5.setImage(SWTResourceManager.getImage(NTC.class, ImgLink[digit1000]));
LED_6.setImage(SWTResourceManager.getImage(NTC.class, ImgLink[digit100]));
LED_7.setImage(SWTResourceManager.getImage(NTC.class, ImgLink[digit10]));
LED_8.setImage(SWTResourceManager.getImage(NTC.class, ImgLink[digit1]));
}
private void setUpTextFile() {
textFile = new TextFile();
textFile.setTextFileName(NTC.DEFAULTTEXTFILENAME); // default textfilsnamn där insamlad data lagras
}
public static TextFile getTextFile() {
return textFile;
}
private void setUpSerial() {
arduinoSerial = new Serial(window,display);
arduinoSerial.setBaudRate(NTC.DEFAULTBAUDRATE); // default baudrate för kommunikation med Arduino
arduinoSerial.setBreakTemp(NTC.DEFAULTBREAKTEMP); // default temperatur då mätning ska avbrytas
}
public static Serial getArduinoSerial() {
return arduinoSerial;
}
/**
* Skapar de objekt som måste ha referenser klara innan createContents()
* exekveras fullt ut
*/
private void setUpSomeOfTheGUI() {
btnExit = new Button(shlNtc, SWT.BORDER | SWT.FLAT | SWT.CENTER);
btnExit.setEnabled(true);
btnStopp = new Button(shlNtc, SWT.BORDER | SWT.FLAT | SWT.CENTER);
btnStopp.setEnabled(false);
}
/**
* Uppdaterar de två 7seg-LED-displayerna i GUI
*
* @param data en textsträng på formen "temperatur ntcmotstånd"
*/
public void changeLedDisplay(String data) {
String temp = data.substring(0, data.indexOf(" "));
String ntc = data.substring(data.indexOf(" ")).trim();
tempDisplay.setTempValue(Integer.parseInt(temp));
ntcDisplay.setOhmValue(Integer.parseInt(ntc));
setTempGUIdisplayValue();
setNTCGUIdisplayValue();
}
/**
* Create contents of the window.
*/
protected void createContents() {
shlNtc = new Shell();
shlNtc.setImage(null);
shlNtc.setForeground(SWTResourceManager.getColor(0, 0, 0));
shlNtc.setBackground(SWTResourceManager.getColor(0, 102, 102));
shlNtc.setSize(465, 467);
shlNtc.setText("Arduino Serial Control Software");
shlNtc.setLayout(null);
setUpLEDDisplay();
setUpTextFile();
setUpSerial();
setUpSomeOfTheGUI();
//----------------------------------------------------------------------------EXIT-knapp
btnExit.addMouseListener(new MouseAdapter() {
@Override
public void mouseUp(MouseEvent e) {
System.exit(0);
}
});
btnExit.setText("EXIT");
btnExit.setForeground(SWTResourceManager.getColor(255, 255, 0));
btnExit.setFont(SWTResourceManager.getFont("Sitka Display", 15, SWT.BOLD));
btnExit.setBackground(SWTResourceManager.getColor(0, 0, 0));
btnExit.setBounds(355, 60, 88, 44);
//----------------------------------------------------------------------------Info om Baudrate
Group grpBaudrate = new Group(shlNtc, SWT.NONE);
grpBaudrate.setEnabled(false);
grpBaudrate.setBounds(355, 10, 88, 44);
grpBaudrate.setBackground(SWTResourceManager.getColor(SWT.COLOR_TITLE_BACKGROUND));
grpBaudrate.setFont(SWTResourceManager.getFont("Sitka Display", 12, SWT.BOLD | SWT.ITALIC));
grpBaudrate.setText("Baudrate");
grpBaudrate.setLayout(null);
CLabel lblNewLabel_1 = new CLabel(grpBaudrate, SWT.NONE);
lblNewLabel_1.setFont(SWTResourceManager.getFont("Segoe UI", 9, SWT.BOLD));
lblNewLabel_1.setBackground(SWTResourceManager.getColor(SWT.COLOR_TITLE_BACKGROUND));
lblNewLabel_1.setAlignment(SWT.CENTER);
lblNewLabel_1.setBounds(13, 23, 65, 21);
lblNewLabel_1.setText("9600bps");
//----------------------------------------------------------------------------Info. Rubriktext Banner
CLabel lblNtcMeasurementSoftware = new CLabel(shlNtc, SWT.NONE);
lblNtcMeasurementSoftware.setForeground(SWTResourceManager.getColor(255, 248, 220));
lblNtcMeasurementSoftware.setBackground(SWTResourceManager.getColor(0, 0, 139));
lblNtcMeasurementSoftware.setFont(SWTResourceManager.getFont("Sitka Display", 15, SWT.BOLD));
lblNtcMeasurementSoftware.setAlignment(SWT.CENTER);
lblNtcMeasurementSoftware.setBounds(10, 10, 339, 44);
lblNtcMeasurementSoftware.setText("NTC Measurement Software");
CLabel lblAngeTextfilnamnAtt = new CLabel(shlNtc, SWT.NONE);
lblAngeTextfilnamnAtt.setAlignment(SWT.CENTER);
lblAngeTextfilnamnAtt.setFont(SWTResourceManager.getFont("Segoe UI", 12, SWT.BOLD));
lblAngeTextfilnamnAtt.setBounds(10, 60, 339, 21);
lblAngeTextfilnamnAtt.setText("Ange textfilnamn att spara data till:");
//----------------------------------------------------------------------------Textfält för filnamn
txtDatatxt = new Text(shlNtc, SWT.BORDER);
txtDatatxt.setText("data.txt");
txtDatatxt.setFont(SWTResourceManager.getFont("Arial", 9, SWT.NORMAL));
txtDatatxt.setBounds(10, 87, 339, 21);
//----------------------------------------------------------------------------Info.skylt startknapp
CLabel lblAvbrytsVid = new CLabel(shlNtc, SWT.NONE);
lblAvbrytsVid.setText("Avbryts vid 100 grader Celcius som default");
lblAvbrytsVid.setFont(SWTResourceManager.getFont("Segoe UI", 10, SWT.BOLD));
lblAvbrytsVid.setBackground(SWTResourceManager.getColor(255, 255, 153));
lblAvbrytsVid.setAlignment(SWT.CENTER);
lblAvbrytsVid.setBounds(10, 114, 339, 22);
//----------------------------------------------------------------------------Info.skylt startknapp
CLabel lblNewLabel = new CLabel(shlNtc, SWT.NONE);
lblNewLabel.setBackground(SWTResourceManager.getColor(255, 255, 153));
lblNewLabel.setAlignment(SWT.CENTER);
lblNewLabel.setFont(SWTResourceManager.getFont("Segoe UI", 12, SWT.BOLD));
lblNewLabel.setBounds(10, 136, 339, 22);
lblNewLabel.setText("Starta Arduino NTC-m\u00E4tning ---->");
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> STARTKNAPP
Button btnStartaArduinoNtcmtning = new Button(shlNtc, SWT.BORDER | SWT.FLAT | SWT.CENTER);
btnStartaArduinoNtcmtning.addMouseListener(new MouseAdapter() {
public void mouseUp(MouseEvent e) {
textFile.setTextFileName(txtDatatxt.getText()); // hämta text från textfält med filnamn
threadController = new ThreadController();
threadControllerThread = new Thread(threadController); // en tråd får bara startas en gång
try {
threadControllerThread.start(); // starta upp NTC-mätning
}
catch(IllegalThreadStateException itse) {
System.out.println("IllegalThreadStateException");
}
btnStopp.setEnabled(true);
btnStartaArduinoNtcmtning.setEnabled(false);
btnExit.setEnabled(false);
}});
btnStartaArduinoNtcmtning.setFont(SWTResourceManager.getFont("Sitka Display", 15, SWT.BOLD));
btnStartaArduinoNtcmtning.setBackground(SWTResourceManager.getColor(0, 139, 139));
btnStartaArduinoNtcmtning.setForeground(SWTResourceManager.getColor(255, 255, 0));
btnStartaArduinoNtcmtning.setBounds(355, 114, 88, 44);
btnStartaArduinoNtcmtning.setText("START");
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> STOPPKNAPP
btnStopp.addMouseListener(new MouseAdapter() {
public void mouseUp(MouseEvent e) { // signalera Stopp till Arduino-inläsningen
try { // avbryt trådkontrollern som i sin tur avbryter
threadControllerThread.interrupt(); // inäsning av data från Arduinon
}
catch(SecurityException se) {
se.printStackTrace();
}
btnStartaArduinoNtcmtning.setEnabled(true);
btnExit.setEnabled(true);
}
});
btnStopp.setText("STOPP");
btnStopp.setForeground(SWTResourceManager.getColor(255, 255, 240));
btnStopp.setFont(SWTResourceManager.getFont("Sitka Display", 15, SWT.BOLD));
btnStopp.setBackground(SWTResourceManager.getColor(204, 0, 0));
btnStopp.setBounds(10, 164, 88, 44);
//----------------------------------------------------------------------------Info.skylt stoppknapp
CLabel label = new CLabel(shlNtc, SWT.NONE);
label.setBackground(SWTResourceManager.getColor(255, 255, 153));
label.setText("<---- Stoppa Arduino NTC-m\u00E4tning");
label.setFont(SWTResourceManager.getFont("Segoe UI", 12, SWT.BOLD));
label.setAlignment(SWT.CENTER);
label.setBounds(104, 164, 339, 44);
//----------------------------------------------------------------------------Info.skylt Ange avbryt-temperatur
CLabel lblAngeEnTemperatur = new CLabel(shlNtc, SWT.NONE);
lblAngeEnTemperatur.setLeftMargin(5);
lblAngeEnTemperatur.setText("Ange en temperatur\r\nf\u00F6r Automatiskt Stopp -->");
lblAngeEnTemperatur.setFont(SWTResourceManager.getFont("Segoe UI", 10, SWT.BOLD));
lblAngeEnTemperatur.setBackground(SWTResourceManager.getColor(255, 255, 153));
lblAngeEnTemperatur.setBounds(10, 214, 203, 44);
//----------------------------------------------------------------------------Info.skylt avbryt-temperatur range
CLabel lblGrader = new CLabel(shlNtc, SWT.NONE);
lblGrader.setAlignment(SWT.CENTER);
lblGrader.setText("50 grader till 150 grader");
lblGrader.setFont(SWTResourceManager.getFont("Segoe UI", 10, SWT.BOLD));
lblGrader.setBackground(SWTResourceManager.getColor(255, 255, 153));
lblGrader.setBounds(219, 214, 187, 21);
spinner = new Spinner(shlNtc, SWT.BORDER);
spinner.setFont(SWTResourceManager.getFont("Segoe UI", 10, SWT.NORMAL));
spinner.setMaximum(150);
spinner.setMinimum(50);
spinner.setSelection(100);
spinner.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
spinner.getSelection();
}
});
//-----------------------------------------------------------------------------Spinner
spinner.setBounds(219, 237, 62, 21);
CLabel lblgraderCelsius = new CLabel(shlNtc, SWT.NONE);
lblgraderCelsius.setText(" [grader Celsius]");
lblgraderCelsius.setForeground(SWTResourceManager.getColor(240, 230, 140));
lblgraderCelsius.setFont(SWTResourceManager.getFont("Segoe UI", 9, SWT.BOLD));
lblgraderCelsius.setBackground(SWTResourceManager.getColor(0, 0, 0));
lblgraderCelsius.setAlignment(SWT.CENTER);
lblgraderCelsius.setBounds(277, 237, 129, 21);
CLabel lblKryssaIOm = new CLabel(shlNtc, SWT.NONE);
lblKryssaIOm.setLeftMargin(5);
lblKryssaIOm.setText("Bekr\u00E4fta Automatiskt Stopp ->");
lblKryssaIOm.setFont(SWTResourceManager.getFont("Segoe UI", 10, SWT.BOLD));
lblKryssaIOm.setBackground(SWTResourceManager.getColor(255, 255, 153));
lblKryssaIOm.setBounds(10, 264, 203, 27);
composite = new Composite(shlNtc, SWT.NONE);
lblNewLabel_2 = new CLabel(composite, SWT.CENTER);
//---------------------------------------------------------------------------------------- Checkruta
composite.setBackground(SWTResourceManager.getColor(SWT.COLOR_TITLE_BACKGROUND_GRADIENT));
composite.setBounds(219, 264, 224, 27);
Button btnCheckButton = new Button(composite, SWT.CHECK);
btnCheckButton.setSelection(false);
btnCheckButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
Button source = (Button) e.getSource();
if(source.getSelection()) { // inmatad temperaturgräns konverteras till int
try {
btnCheckButton.setSelection(true);
spinner.setEnabled(false);
// int intValue = (int) Math.round(Double.parseDouble(text_1.getText()));
int intValue = spinner.getSelection();
if(intValue<50) {
lblNewLabel_2.setText(""+50);
spinner.setSelection(50);
arduinoSerial.setBreakTemp(50);
}
else if(intValue>150) {
lblNewLabel_2.setText(""+150);
spinner.setSelection(150);
arduinoSerial.setBreakTemp(150);
}
else {
lblNewLabel_2.setText(""+intValue);
arduinoSerial.setBreakTemp(intValue); // användardefinierat mätstopp tillämpas
}
}
catch(NumberFormatException nfe) { // om annat än ett tal knappas in så återställ textfältet
btnCheckButton.setSelection(false);
spinner.setSelection(DEFAULTBREAKTEMP);
lblNewLabel_2.setText(""+DEFAULTBREAKTEMP);
}
}
else if(!source.getSelection()) {
btnCheckButton.setSelection(false);
spinner.setEnabled(true);
spinner.setSelection(DEFAULTBREAKTEMP);
lblNewLabel_2.setText(""+DEFAULTBREAKTEMP);
arduinoSerial.setBreakTemp(DEFAULTBREAKTEMP);
}
}
});
btnCheckButton.setLocation(5, 0);
btnCheckButton.setSize(68, 27);
btnCheckButton.setFont(SWTResourceManager.getFont("Segoe UI", 9, SWT.BOLD));
btnCheckButton.setBackground(SWTResourceManager.getColor(SWT.COLOR_TITLE_BACKGROUND_GRADIENT));
btnCheckButton.setText("Markera");
lblNewLabel_2.setBackground(SWTResourceManager.getColor(0, 0, 0));
lblNewLabel_2.setForeground(SWTResourceManager.getColor(240, 230, 140));
lblNewLabel_2.setFont(SWTResourceManager.getFont("Segoe UI", 10, SWT.BOLD));
lblNewLabel_2.setBounds(75, 0, 49, 27);
lblNewLabel_2.setText("100");
CLabel label_1 = new CLabel(composite, SWT.NONE);
label_1.setText(" [grader Celsius]");
label_1.setForeground(SWTResourceManager.getColor(240, 230, 140));
label_1.setFont(SWTResourceManager.getFont("Segoe UI", 9, SWT.BOLD));
label_1.setBackground(SWTResourceManager.getColor(0, 0, 0));
label_1.setAlignment(SWT.CENTER);
label_1.setBounds(123, 0, 101, 27);
//----------------------------------------------------------------------------Info.skylt Rubrik Aktuell Mätdata
CLabel lblAktuellMtdata = new CLabel(shlNtc, SWT.BORDER | SWT.SHADOW_IN | SWT.SHADOW_OUT | SWT.CENTER);
lblAktuellMtdata.setForeground(SWTResourceManager.getColor(0, 0, 128));
lblAktuellMtdata.setBackground(SWTResourceManager.getColor(SWT.COLOR_INFO_BACKGROUND));
lblAktuellMtdata.setFont(SWTResourceManager.getFont("Courier", 17, SWT.BOLD));
lblAktuellMtdata.setBounds(10, 297, 433, 35);
lblAktuellMtdata.setText("A k t u e l l M \u00E4 t d a t a");
//----------------------------------------------------------------------------Info.skylt Rubrik Temperatur [Celsius]
CLabel lblTemperatur = new CLabel(shlNtc, SWT.NONE);
lblTemperatur.setForeground(SWTResourceManager.getColor(240, 230, 140));
lblTemperatur.setBackground(SWTResourceManager.getColor(0, 0, 0));
lblTemperatur.setFont(SWTResourceManager.getFont("Segoe UI", 12, SWT.BOLD));
lblTemperatur.setAlignment(SWT.CENTER);
lblTemperatur.setBounds(10, 338, 182, 34);
lblTemperatur.setText("Temperatur [Celsius]");
//----------------------------------------------------------------------------Info.skylt Rubrik NTC Ω
CLabel lblNtcohm = new CLabel(shlNtc, SWT.NONE);
lblNtcohm.setText("NTC Ω");
lblNtcohm.setForeground(SWTResourceManager.getColor(240, 230, 140));
lblNtcohm.setFont(SWTResourceManager.getFont("Segoe UI", 12, SWT.BOLD));
lblNtcohm.setBackground(SWTResourceManager.getColor(0, 0, 0));
lblNtcohm.setAlignment(SWT.CENTER);
lblNtcohm.setBounds(238, 338, 205, 34);
//----------------------------------------------------------------------------LED-display Temperatur
LED_0.setText("");
LED_0.setBackground(SWTResourceManager.getColor(0, 0, 0));
LED_0.setBounds(96, 378, 28, 44);
LED_1.setText("");
LED_1.setBackground(SWTResourceManager.getColor(0, 0, 0));
LED_1.setBounds(130, 378, 28, 44);
LED_2.setText("");
LED_2.setBackground(SWTResourceManager.getColor(0, 0, 0));
LED_2.setBounds(164, 378, 28, 44);
//----------------------------------------------------------------------------LED-display NTC
LED_3.setText("");
LED_3.setBackground(SWTResourceManager.getColor(0, 0, 0));
LED_3.setBounds(238, 378, 28, 44);
LED_4.setText("");
LED_4.setBackground(SWTResourceManager.getColor(0, 0, 0));
LED_4.setBounds(278, 378, 28, 44);
LED_5.setText("");
LED_5.setBackground(SWTResourceManager.getColor(0, 0, 0));
LED_5.setBounds(313, 378, 28, 44);
LED_6.setText("");
LED_6.setBackground(SWTResourceManager.getColor(0, 0, 0));
LED_6.setBounds(347, 378, 28, 44);
LED_7.setText("");
LED_7.setBackground(SWTResourceManager.getColor(0, 0, 0));
LED_7.setBounds(381, 378, 28, 44);
LED_8.setText("");
LED_8.setBackground(SWTResourceManager.getColor(0, 0, 0));
LED_8.setBounds(415, 378, 28, 44);
}
}