jFxKasse/src/application/MainWindowController.java

1105 lines
24 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package application;
import javafx.fxml.FXML;
import javafx.geometry.Insets;
import javafx.scene.control.Button;
import javafx.scene.control.ButtonType;
import javafx.scene.control.Dialog;
import javafx.scene.control.TreeTableColumn;
import javafx.scene.control.TreeTableView;
import javafx.scene.control.TextField;
import javafx.scene.control.TreeItem;
import javafx.scene.control.TitledPane;
import javafx.scene.control.Tooltip;
import javafx.scene.control.ChoiceBox;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;
import com.jfoenix.controls.JFXTextField;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.scene.control.Label;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.GridPane;
import javafx.util.Pair;
import sun.jvm.hotspot.tools.SysPropsDumper;
public class MainWindowController
{
Toolkit toolkit = Toolkit.getDefaultToolkit();
Clipboard clipboard = toolkit.getSystemClipboard();
@FXML
private AnchorPane mainAnchorpane;
@FXML
private AnchorPane paneDB;
@FXML
private TreeTableView<tableData> tableCurrentOrder;
@FXML
private TreeTableColumn<tableData, String> columnQuantity;
@FXML
private TreeTableColumn<tableData, String> columnPosition;
@FXML
private TreeTableColumn<tableData, Integer> idSpalte01 = new TreeTableColumn<>(
"tableCurrentOrder");
@FXML
private TreeTableView<tableData> jobsTreeTable;
@FXML
private TreeTableColumn<tableData, String> columnJobValue;
@FXML
private TreeTableColumn<tableData, String> columnState;
@FXML
private TreeTableColumn<tableData, String> columnPositions;
@FXML
private TreeTableColumn<tableData, String> columnTime;
@FXML
private TreeTableColumn<tableData, String> columnJobNumber;
@FXML
private TreeTableColumn<tableData, Integer> idSpalte02 = new TreeTableColumn<>(
"jobsTreeTable");
@FXML
private TreeTableView<tableDataPositionen> entryTreeTable;
@FXML
private TreeTableColumn<tableDataPositionen, String> columnColor;
@FXML
private TreeTableColumn<tableDataPositionen, String> columnCat;
@FXML
private TreeTableColumn<tableDataPositionen, String> columnPrize;
@FXML
private TreeTableColumn<tableDataPositionen, String> columnPositionsEdit;
@FXML
private TreeTableColumn<tableDataPositionen, Integer> columnPosnumber;
@FXML
private ChoiceBox<String> colorChoise;
@FXML
private ChoiceBox<String> catChoise;
@FXML
private Button ueberbtn;
@FXML
private Button gridButton01;
@FXML
private Button gridButton02;
@FXML
private Button gridButton03;
@FXML
private Button gridButton04;
@FXML
private Button gridButton05;
@FXML
private Button gridButton06;
@FXML
private Button gridButton07;
@FXML
private Button gridButton08;
@FXML
private Button gridButton09;
@FXML
private Button gridButton10;
@FXML
private Button gridButton11;
@FXML
private Button gridButton12;
@FXML
private Button gridButton13;
@FXML
private Button gridButton14;
@FXML
private Button gridButton15;
@FXML
private Button gridButton16;
@FXML
private Button gridButton17;
@FXML
private Button gridButton18;
@FXML
private Button gridButton19;
@FXML
private Button gridButton20;
@FXML
private Button gridButton21;
@FXML
private Button gridButton22;
@FXML
private Button gridButton23;
@FXML
private Button gridButton24;
@FXML
private Button gridButton25;
@FXML
private Button btnDeleteSelectedPosition;
@FXML
private Button btnPrintBill;
@FXML
private Button btnLock;
@FXML
private Button btnReprintJob;
@FXML
private Button btnCancelJob;
@FXML
private Button btnCalcStats;
@FXML
private Button btnSaveEntry;
@FXML
private Button btnClearEntry;
@FXML
private Button btnCreateNewDatabase;
@FXML
private Button btnOpenFolder;
@FXML
private Label labelCat01;
@FXML
private Label labelCat02;
@FXML
private Label labelCat05;
@FXML
private Label labelCat04;
@FXML
private Label labelCat03;
@FXML
private JFXTextField tftKat01;
@FXML
private JFXTextField tftKat02;
@FXML
private JFXTextField tftKat03;
@FXML
private JFXTextField tftKat04;
@FXML
private JFXTextField tftKat05;
@FXML
private Button btnSaveCat;
@FXML
private Label labelAllPrize;
@FXML
private Label labelJobCounter;
@FXML
private Label labelTime;
@FXML
private Label lableJobCount;
@FXML
private Label labelAvgJob;
@FXML
private Label lableAllValue;
@FXML
private Label lableSelectCat;
@FXML
private Label lableNewPosition;
@FXML
private Label labelNewValue;
@FXML
private Label lableNewColor;
@FXML
private Label labelDBStatus;
@FXML
private Label labelDBName;
@FXML
private TitledPane titlePaneStats;
@FXML
private TitledPane titlePaneCat;
@FXML
private TitledPane titledPaneEntry;
@FXML
private TextField tftNewPosition;
@FXML
private TextField tftNewValue;
@FXML
private TextField tftNewDBName;
@SuppressWarnings("unused")
private Main main;
private DBController dbc;
private String filepathXMLLinux = System.getProperty("user.home")
+ "/bin/jFxKasse/config.xml"; // Pfad wo die XML liegt
private int idPositionen = 0;
private String selectedColorName;
private String selectedCatName;
private String databaseName;
private boolean lockState = false;
@FXML
TreeItem<tableData> rootCurrentJob = new TreeItem<>(
new tableData(0, "0", "0"));
@FXML
TreeItem<tableData> rootJobs = new TreeItem<>(new tableData(0, "0", "0"));
@FXML
TreeItem<tableDataPositionen> rootPositionen = new TreeItem<>(
new tableDataPositionen(0, "0", "0", "0", "0"));
Properties props = new Properties();
@FXML
public void ueberbtnAction(ActionEvent event)
{ // opens the 'Über' dialog
// creates a dialog
Dialog<Pair<String, String>> dialog = new Dialog<>();
dialog.setTitle("Über jFxKasse");
dialog.setHeaderText(
"Informationen und Lizenzen - Version 0.9.4 - Techdemo");
dialog.getDialogPane().getButtonTypes().addAll(ButtonType.OK);
GridPane grid = new GridPane();
grid.setHgap(10);
grid.setVgap(10);
grid.setPadding(new Insets(20, 150, 10, 10));
grid.add(new Label(
"Einfaches Kassensystem für kleine bis mittel große Veranstaltungen mit Bon-Drucker\n"
+ "\nUnter Lizenz GPL-3.0 abrufbar auf https://github.com/Windoofs/jFxKasse\n"
+ "\nDatenbank: sqlite.org - Public Domain"
+ " \nUI Design01: eclipse.org/efxclipse/install.html - Eclipse Public License 1.0"
+ " \nUI Design02: http://www.jfoenix.com/ - Apache License 2.0"
+ " \nUI - Datenbank Integration: basierend auf Project-HomeFlix - github.com/Seil0/Project-HomeFlix - GPLv3 \n"
+ " \nMaintainer: hendrik.schutter@coptersicht.de"
+ " \n(c) 2018 Hendrik Schutter"),
0, 0);
dialog.getDialogPane().setContent(grid); // Setzt die GridPane auf die
dialog.setResizable(true); // DialogPane
dialog.showAndWait();
}
@FXML
public void btnOpenFolderAction(ActionEvent event) throws IOException
{
Runtime.getRuntime().exec(
"xdg-open " + System.getProperty("user.home") + "/bin/jFxKasse");
}
@FXML
public void btnCreateNewDatabaseAction(ActionEvent event) throws Exception
{
setDatabaseName(tftNewDBName.getText());
dbc.dbname = getDatabaseName();
dbc.connectDatabase(); // establish DB connection
dbc.createTablePositionen(); // Create new table
dbc.erstelleTabelleJobs(); // Create new table
dbc.createTableCategory(); // Create new table
try {
saveSettings(getDatabaseName());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
setDBLabel(); // Set new databese labels
blockUI(false); // unlock UI elements that need DB
fillTablePositionen(); // fill TreeTable 'Positionen'
fillCategory();
initUI(); // Starting the UI elements
getSelectedCat();
}
@FXML
public void btnSaveEntryAction(ActionEvent event)
{
System.out.println("Speichere Eintrag!");
dbc.setName_Positionen(idPositionen, tftNewPosition.getText());
dbc.setValue_Positionen(idPositionen, tftNewValue.getText());
dbc.setColor_Positionen(idPositionen, getColorCodes(selectedColorName));
dbc.setCat_Positionen(idPositionen, getSelectedCat());
fillTablePositionen(); // fill TreeTable 'Positionen'
loadGridButtons();
}
@FXML
public void btnClearEntryAction(ActionEvent event)
{
// set default values
dbc.setName_Positionen(idPositionen, "Noch frei");
dbc.setValue_Positionen(idPositionen, "0.00");
dbc.setColor_Positionen(idPositionen, "#FAF0E6");
dbc.setCat_Positionen(idPositionen, 6);
fillTablePositionen(); // fill TreeTable 'Positionen'
}
@FXML
public void btnCalcStatsAction(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void btnReprintJobAction(ActionEvent event)
{
}
@FXML
public void btnCancelJobAction(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void btnLockAction(ActionEvent event)
{
lockState = !lockState;
blockUI(lockState);
if (lockState) {
btnLock.setText("Kasse entsperren");
} else {
btnLock.setText("Kasse sperren");
}
}
@FXML
public void btnSaveCatAction(ActionEvent event)
{
System.out.println("Cat´s speichern");
dbc.setName_Category(1, tftKat01.getText());
dbc.setName_Category(2, tftKat02.getText());
dbc.setName_Category(3, tftKat03.getText());
dbc.setName_Category(4, tftKat04.getText());
dbc.setName_Category(5, tftKat05.getText());
fillCategory();
fillTablePositionen();
getSelectedCat();
}
@FXML
public void btnDeleteSelectedPositionAction(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void btnPrintBillAction(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton01Action(ActionEvent event)
{
System.out.println("Test Button!");
}
@FXML
public void gridButton02Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton03Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton04Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton05Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton06Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton07Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton08Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton09Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton10Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton11Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton12Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton13Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton14Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton15Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton16Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton17Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton18Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton19Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton20Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton21Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton22Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton23Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton24Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void gridButton25Action(ActionEvent event)
{
System.out.println("Button!");
}
@FXML
public void fillTablePositionen()
{ // loads the table in the TreeTableView
rootPositionen.getChildren().remove(0,
rootPositionen.getChildren().size());
for (int i = 0; i < dbc.ladeTabellePositionen().size(); i++) {
tableDataPositionen helpTableData = new tableDataPositionen(
dbc.ladeTabellePositionen().get(i).getID(),
dbc.ladeTabellePositionen().get(i).getName(),
dbc.ladeTabellePositionen().get(i).getValue() + "",
dbc.getCategoryNameFromPositionen(i + 1),
getColorNames(dbc.ladeTabellePositionen().get(i).getColor()));
rootPositionen.getChildren()
.add(new TreeItem<tableDataPositionen>(helpTableData));
}
}
public void initUI()
{
System.out.println("initUI");
tftNewDBName.setText(getDatabaseName());
tftKat05.setDisable(true);
initPositionen();
}
public int getSelectedCat()
{
ObservableList<String> cats = FXCollections.observableArrayList();
for (int i = 1; i < 5; i++) {
if (dbc.getName_Category(i).equals("Standard")) {
} else {
cats.add(dbc.getName_Category(i));
}
}
/*
* cats.add(dbc.getName_Category(1));
*
* cats.add(dbc.getName_Category(2)); cats.add(dbc.getName_Category(3));
* cats.add(dbc.getName_Category(4));
*/
cats.add(dbc.getName_Category(5));
catChoise.setItems(cats);
catChoise.getSelectionModel().selectedIndexProperty()
.addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> ov,
Number value, Number new_value)
{
selectedCatName = catChoise.getItems().get((int) new_value)
.toString();
// System.out.println("Ausgewählte Cat: " + selectedCatName);
}
});
for (int i = 1; i < 6; i++) {
if (dbc.getName_Category(i).equals(selectedCatName)) {
return i;
}
}
return 5;
}
public void fillCategory()
{
tftKat01.setText(dbc.getName_Category(1));
tftKat02.setText(dbc.getName_Category(2));
tftKat03.setText(dbc.getName_Category(3));
tftKat04.setText(dbc.getName_Category(4));
tftKat05.setText(dbc.getName_Category(5));
}
private void initPositionen()
{
entryTreeTable.setRoot(rootPositionen);
entryTreeTable.setShowRoot(false);
entryTreeTable.setEditable(false);
ObservableList<String> color = FXCollections.observableArrayList("Rot",
"Orange", "Braun", "Weiß", "Gelb", "Gr\u00fcn", "Blau", "Indigo");
colorChoise.setItems(color);
colorChoise.getSelectionModel().selectedIndexProperty()
.addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> ov,
Number value, Number new_value)
{
selectedColorName = colorChoise.getItems()
.get((int) new_value).toString();
// System.out.println("Ausgewählte Farbe: " +
// selectedColorName);
}
});
columnPosnumber.setCellValueFactory(
cellData -> cellData.getValue().getValue().idProperty().asObject());
columnPositionsEdit.setCellValueFactory(
cellData -> cellData.getValue().getValue().nameProperty());
columnPrize.setCellValueFactory(
cellData -> cellData.getValue().getValue().valueProperty());
columnCat.setCellValueFactory(
cellData -> cellData.getValue().getValue().catProperty());
columnColor.setCellValueFactory(
cellData -> cellData.getValue().getValue().colorProperty());
entryTreeTable.getSelectionModel().selectedItemProperty()
.addListener(new ChangeListener<Object>() {
@Override
public void changed(ObservableValue<?> observable, Object oldVal,
Object newVal)
{
// last = selected; //for auto-play
int selected = entryTreeTable.getSelectionModel()
.getSelectedIndex(); // get selected item
idPositionen = columnPosnumber.getCellData(selected); // Ausgewählte
// Spalte
System.out.println(
"Positionen - Ausgewaehlte Spalte: " + idPositionen);
try { // Setzt den Inhalt in die Textfelder
tftNewPosition
.setText(dbc.getName_Positionen(idPositionen));
tftNewValue.setText(dbc.getValue_Positionen(idPositionen));
colorChoise.getSelectionModel().select(
getColorID(dbc.getColor_Positionen(idPositionen)));
catChoise.getSelectionModel().select(
dbc.getCategoryNameFromPositionen(idPositionen));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
columnPosnumber.setStyle("-fx-alignment: CENTER;");
columnPositionsEdit.setStyle("-fx-alignment: CENTER;");
columnPrize.setStyle("-fx-alignment: CENTER;");
columnCat.setStyle("-fx-alignment: CENTER;");
columnColor.setStyle("-fx-alignment: CENTER;");
tftNewValue.textProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> observable,
String oldValue, String newValue)
{
if (!newValue.matches("\\d{0,7}([\\.]\\d{0,2})?")) {
tftNewValue.setText(oldValue);
}
}
});
final Tooltip tooltipName = new Tooltip();
tooltipName.setText("Name der neuen Position");
tooltipName.setStyle("-fx-font: normal bold 20 Cantarell; "
+ "-fx-base: #AE3522; " + "-fx-text-fill: orange;");
tftNewPosition.setTooltip(tooltipName);
final Tooltip tooltipValue = new Tooltip();
tooltipValue
.setText("Preis der neuen Position.\nPunkt als Trennzeichen!");
tooltipValue.setStyle("-fx-font: normal bold 20 Cantarell; "
+ "-fx-base: #AE3522; " + "-fx-text-fill: orange;");
tftNewValue.setTooltip(tooltipValue);
labelNewValue.setTooltip(tooltipValue);
}
public void setMain(Main main, DBController dbc)
{
this.main = main;
this.dbc = dbc;
}
public String getSystemTime()
{
DateFormat dateFormat = new SimpleDateFormat("HH:mm");
Date date = new Date();
String heutigesDatum = dateFormat.format(date);
return heutigesDatum;
}
public void saveSettings(String databasename) throws Exception
{ // Save settings to config.xml
OutputStream outputStream;
try {
props.setProperty("databasename", databasename);
outputStream = new FileOutputStream(filepathXMLLinux);
props.storeToXML(outputStream, "jFxKasse settings");
outputStream.close();
} catch (IOException e) {
}
}
public boolean loadSettings() throws Exception
{ // reads the settings from config.xml
InputStream inputStream;
try {
inputStream = new FileInputStream(filepathXMLLinux);
props.loadFromXML(inputStream);
setDatabaseName(props.getProperty("databasename"));
inputStream.close();
return true;
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
public String getDatabaseName()
{
return databaseName;
}
public void setDatabaseName(String NewDatabaseName)
{
databaseName = NewDatabaseName;
}
public void setDBLabel() throws Exception
{
if (loadSettings() == true) {
labelDBStatus
.setText("Geladene Datenbank: " + getDatabaseName() + ".db");
btnCreateNewDatabase.setDisable(true);
tftNewDBName.setDisable(true);
labelDBName.setTooltip(new Tooltip(
"Um eine neue Datenbank zu erzeugen muss die vorherige config.xml und "
+ getDatabaseName()
+ ".db gelöscht werden! Anwendung danach neustarten!"));
labelDBStatus.setTooltip(new Tooltip(
"Um eine neue Datenbank zu erzeugen muss die vorherige config.xml und "
+ getDatabaseName()
+ ".db gelöscht werden! Anwendung danach neustarten!"));
} else {
labelDBStatus.setText("Keine Datenbank gefunden!");
}
}
private String getColorCodes(String pColorName)
{
switch (pColorName) {
case "Rot":
return "#ad0000";
case "Orange":
return "#FF4500";
case "Braun":
return "#8B4513";
case "Weiß":
return "#FAF0E6";
case "Gelb":
return "#FFD700";
case "Gr\u00fcn":
return "#556B2F";
case "Blau":
return "#00BFFF";
case "Indigo":
return "#4B0082";
default:
return "#FFFFFF";
}
}
private String getColorNames(String pColorCode)
{
switch (pColorCode) {
case "#ad0000":
return "Rot";
case "#FF4500":
return "Orange";
case "#8B4513":
return "Braun";
case "#FAF0E6":
return "Weiß";
case "#FFD700":
return "Gelb";
case "#556B2F":
return "Gr\u00fcn";
case "#00BFFF":
return "Blau";
case "#4B0082":
return "Indigo";
default:
return "Farbe";
}
}
private Integer getColorID(String pColorCode)
{
switch (pColorCode) {
case "#ad0000":
return 0;
case "#FF4500":
return 1;
case "#8B4513":
return 2;
case "#FAF0E6":
return 3;
case "#FFD700":
return 4;
case "#556B2F":
return 5;
case "#00BFFF":
return 6;
case "#4B0082":
return 7;
default:
return 0;
}
}
public void blockUI(boolean pState)
{
btnCalcStats.setDisable(pState);
btnClearEntry.setDisable(pState);
btnDeleteSelectedPosition.setDisable(pState);
btnPrintBill.setDisable(pState);
btnReprintJob.setDisable(pState);
btnSaveEntry.setDisable(pState);
btnCancelJob.setDisable(pState);
for (int i = 0; i < 25; i++) {
getButtonByID(i).setDisable(pState);
}
tftNewPosition.setDisable(pState);
tftNewValue.setDisable(pState);
colorChoise.setDisable(pState);
catChoise.setDisable(pState);
tableCurrentOrder.setDisable(pState);
jobsTreeTable.setDisable(pState);
entryTreeTable.setDisable(pState);
labelAllPrize.setVisible(!pState);
labelJobCounter.setVisible(!pState);
titlePaneStats.setVisible(!pState);
titledPaneEntry.setDisable(pState);
titlePaneCat.setDisable(pState);
}
public void loadGridButtons()
{
for (int i = 0; i < 25; i++) {
getButtonByID(i).setText(dbc.getName_Positionen(i + 1));
if ((getColorID(dbc.getColor_Positionen(i + 1)) == 0)
|| (getColorID(dbc.getColor_Positionen(i + 1)) == 7)) {
getButtonByID(i).setStyle("-fx-background-color: "
+ dbc.getColor_Positionen(i + 1) + "; -fx-text-fill: white;");
} else {
getButtonByID(i).setStyle("-fx-background-color: "
+ dbc.getColor_Positionen(i + 1) + "; -fx-text-fill: black;");
}
}
for (int i = 0; i < 25; i++) {
if (dbc.getName_Positionen(i + 1).equals("Noch frei")) {
getButtonByID(i).setVisible(false);
} else {
getButtonByID(i).setVisible(true);
}
}
}
public Button getButtonByID(int pID)
{
switch (pID) {
case 0:
return gridButton01;
case 1:
return gridButton02;
case 2:
return gridButton03;
case 3:
return gridButton04;
case 4:
return gridButton05;
case 5:
return gridButton06;
case 6:
return gridButton07;
case 7:
return gridButton08;
case 8:
return gridButton09;
case 9:
return gridButton10;
case 10:
return gridButton11;
case 11:
return gridButton12;
case 12:
return gridButton13;
case 13:
return gridButton14;
case 14:
return gridButton15;
case 15:
return gridButton16;
case 16:
return gridButton17;
case 17:
return gridButton18;
case 18:
return gridButton19;
case 19:
return gridButton20;
case 20:
return gridButton21;
case 21:
return gridButton22;
case 22:
return gridButton23;
case 23:
return gridButton24;
case 24:
return gridButton25;
default:
return gridButton01;
}
}
public void updateTimeLabel()
{
// System.out.println(getSystemTime());
labelTime.setText("Uhrzeit: " + getSystemTime());
}
}