View Javadoc
1   package org.woehlke.computer.kurzweil.commons.widgets;
2   
3   import lombok.Getter;
4   import lombok.ToString;
5   import lombok.extern.log4j.Log4j2;
6   import org.woehlke.computer.kurzweil.commons.Startable;
7   import org.woehlke.computer.kurzweil.tabs.Tab;
8   
9   import javax.swing.*;
10  
11  @Log4j2
12  @ToString(exclude={"startButton","stopButton"})
13  public class PanelStartStopButtons extends SubTabImpl implements Startable, SubTab {
14  
15      private final String labelStart;
16      private final String labelStop;
17      @Getter
18      private final JButton startButton;
19      @Getter
20      private final JButton stopButton;
21  
22      public PanelStartStopButtons(Tab tab){
23          super(tab.getCtx().getProperties().getAllinone().getView().getStartStopp(),tab.getCtx().getProperties());
24          labelStart = tab.getCtx().getProperties().getAllinone().getView().getStart();
25          labelStop = tab.getCtx().getProperties().getAllinone().getView().getStop();
26          this.startButton = new JButton(labelStart);
27          this.stopButton = new JButton(labelStop);
28          this.startButton.setEnabled(true);
29          this.stopButton.setEnabled(false);
30          this.add(this.startButton);
31          this.add(this.stopButton);
32          this.startButton.addActionListener(tab);
33          this.stopButton.addActionListener(tab);
34      }
35  
36      @Override
37      public void start() {
38          log.info("start");
39          this.startButton.setEnabled(false);
40          this.stopButton.setEnabled(true);
41          log.info("started");
42      }
43  
44      @Override
45      public void stop() {
46          log.info("stop");
47          this.startButton.setEnabled(true);
48          this.stopButton.setEnabled(false);
49          log.info("stopped");
50      }
51  
52  }