Hallo meine lieben
Ich hoffe Ihr könnt mir helfen.
Habe ein Panel gezeichnet mit 8 Buttons. Über das Netzwerk frage ich nun ein Gerät über seinen aktuellen Zustand ab. Je nachdem was das Gerät antwortet soll sich ein spezieller Button ändern (z. B. die Farbe). Die Abfrage sollte alle 5 Sekunden durchgeführt werden, deshalb dache ich an ca. soetwas:
Die Zeitabfrage passiert dann über das Hauptprogramm.
Vielleicht hat ja jemand eine Idee, wie ich das realisieren kann.
lg
Steffi
Ich hoffe Ihr könnt mir helfen.
Habe ein Panel gezeichnet mit 8 Buttons. Über das Netzwerk frage ich nun ein Gerät über seinen aktuellen Zustand ab. Je nachdem was das Gerät antwortet soll sich ein spezieller Button ändern (z. B. die Farbe). Die Abfrage sollte alle 5 Sekunden durchgeführt werden, deshalb dache ich an ca. soetwas:
Java:
public class PanelSwitcher{
Dimension dPanel = new Dimension(360,120);
Dimension dButton = new Dimension(80,35);
Dimension dLabel = new Dimension(320,35);
//Haptpanel
JPanel Panel = new JPanel();
//Buttons
JButton bInput1 = new JButton("1");
JButton bInput2 = new JButton("2");
JButton bInput3 = new JButton("3");
JButton bInput4 = new JButton("4");
JButton bInput5 = new JButton("5");
JButton bInput6 = new JButton("6");
JButton bInput7 = new JButton("7");
JButton bInput8 = new JButton("8");
public JPanel init(){
Panel.setPreferredSize(new Dimension(350,400));
Panel.setBorder(new TitledBorder("Titel"));
JLabel lTopic = new JLabel();
JPanel InputPanel = new JPanel();
JPanel SetPanel = new JPanel();
JPanel InfoPanel = new JPanel();
//Panels
InputPanel.setBorder(new TitledBorder("Input"));
SetPanel.setBorder(new TitledBorder("Settings"));
InfoPanel.setBorder(new TitledBorder("Informationen"));
JButton bAktuell = new JButton("Aktuallisieren");
bInput1.setPreferredSize(dButton);
bInput2.setPreferredSize(dButton);
bInput3.setPreferredSize(dButton);
bInput4.setPreferredSize(dButton);
bInput5.setPreferredSize(dButton);
bInput6.setPreferredSize(dButton);
bInput7.setPreferredSize(dButton);
bInput8.setPreferredSize(dButton);
bAktuell.setPreferredSize(new Dimension(150,35));
// RM aktuallisieren: das erste mal
[EDIT]callButtonRm();[/EDIT]
// Panelbeschreiben
InputPanel.add(bInput1);
InputPanel.add(bInput2);
InputPanel.add(bInput3);
InputPanel.add(bInput4);
InputPanel.add(bInput5);
InputPanel.add(bInput6);
InputPanel.add(bInput7);
InputPanel.add(bInput8);
InputPanel.setPreferredSize(dPanel);
SetPanel.setPreferredSize(dPanel);
InfoPanel.setPreferredSize(dPanel);
Panel.add(lTopic);
Panel.add(InputPanel);
Panel.add(SetPanel);
Panel.add(InfoPanel);
Panel.add(bAktuell);
return Panel;
}
public void callButtonRm(){
// Rückmeldung Button Input
bInput1.setForeground(Color.black);
bInput2.setForeground(Color.black);
bInput3.setForeground(Color.black);
bInput4.setForeground(Color.black);
bInput5.setForeground(Color.black);
bInput6.setForeground(Color.black);
bInput7.setForeground(Color.black);
bInput8.setForeground(Color.black);
switch(sw.getExtronSwitchInput()){
case 0:
break;
case 1:
bInput1.setForeground(Color.blue);
break;
case 2:
bInput2.setForeground(Color.blue);
break;
case 3:
bInput3.setForeground(Color.blue);
break;
case 4:
bInput4.setForeground(Color.blue);
break;
case 5:
bInput5.setForeground(Color.blue);
break;
case 6:
bInput6.setForeground(Color.blue);
break;
case 7:
bInput7.setForeground(Color.blue);
break;
case 8:
bInput8.setForeground(Color.blue);
break;
default:
}
}
}
Die Zeitabfrage passiert dann über das Hauptprogramm.
Vielleicht hat ja jemand eine Idee, wie ich das realisieren kann.
lg
Steffi