-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEcoSystemGUI.java
More file actions
151 lines (110 loc) · 3.08 KB
/
Copy pathEcoSystemGUI.java
File metadata and controls
151 lines (110 loc) · 3.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.ScrollPaneConstants;
/**
* @author Saakshi Shah
*
*/
public class EcoSystemGUI extends JFrame implements ActionListener {
// Declare variables for labels and buttons
// variables to be used throughout the class
ImagePicture ipBackground, switchOn, switchOff, imgES;
JTextArea outputArea;
static JTextField emissionNum;
JScrollPane scrollPanel;
JButton btnOn, btnOff;
int secondsPassed;
Timer timer;
/**
* Default Constructor
*/
public EcoSystemGUI() {
super ("Name Here"); // Set the frame's name
setSize (1000,600); //set the frames size
setLayout(null);
//create textfield
emissionNum = new JTextField("0");
//create text area
outputArea = new JTextArea("Transactions");
//create buttons
btnOn = new JButton("Turn Light On");
btnOff = new JButton("Turn Light Off");
// background picture
ipBackground = new ImagePicture(new ImageIcon("bgPic.jpg"));
//switch pic
switchOn = new ImagePicture(new ImageIcon("bulbOn.png"));
switchOff = new ImagePicture(new ImageIcon("bulbOff.png"));
//add text field
emissionNum.setBounds(490,160,190,72);
emissionNum.setFont(new Font("SansSerif", Font.BOLD, 44));
emissionNum.setEditable(false);
add(emissionNum);
//add buttons
btnOn.setBounds(50,340,170,40);
btnOn.addActionListener(this);
add(btnOn);
btnOff.setBounds(50,390,170,40);
btnOff.addActionListener(this);
add(btnOff);
//switch on
switchOn.setBounds(0,0,500,500);
add(switchOn);
switchOn.setVisible(false);
switchOff.setBounds(50,120,200,200);
add(switchOff);
switchOff.setVisible(false);
//background pic
ipBackground.setBounds(0,0,1000,600);
add(ipBackground);
//shows frame
setVisible(true);
//exit button enabled (red)
setDefaultCloseOperation(EXIT_ON_CLOSE);
}//end default constructor
public void start() {
this.timer = new Timer();
this.timer.scheduleAtFixedRate(new TimerTask(){
public void run() {
secondsPassed++;
System.out.println("Seconds Passed: " + secondsPassed);
emissionNum.setText("" + secondsPassed *0.00035 *1000);
}//end run
} //end timer task
,1000,1000);
}//end start
public void pause() {
this.timer.cancel();
}
/**
* Main Method
* @param args
*/
public static void main(String[] args) {
new EcoSystemGUI();
}//end main
@Override
public void actionPerformed(ActionEvent e) {
//if view buttons is pressed
if(e.getSource() == btnOn) {
start();
switchOff.setVisible(false);
switchOn.setVisible(true);
}//end if for view button
//if open button is pressed
else if (e.getSource() == btnOff) {
pause();
switchOn.setVisible(false);
switchOff.setVisible(true);
}//end open button
}//end action performed
}//end class