Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- import java.util.*;
- import java.io.*;
- public class Greenhouse extends JFrame implements ActionListener
- {
- JLabel lblPeriod, lblIntHumidity,lblExtHumidity, lblSoilMoisture, lblTime;
- JLabel lblNight, lblMorning, lblDay, lblEvening;
- JLabel lblSprinkler, lblMister, lblVents;
- JButton offButton;
- JButton settingsButton;
- JButton operationsButton;
- JButton saveButton;
- JButton defaultsButton;
- JButton cancelButton;
- JTextField[] intHumidity;
- JTextField[] extHumidity;
- JTextField[] soilMoisture;
- JTextField time;
- int currentTime;
- public Greenhouse()
- {
- super ("Greenhouse");
- offButton = new JButton("Off");
- settingsButton = new JButton("Settings");
- operationsButton = new JButton("Operations");
- lblPeriod = new JLabel("");
- lblNight = new JLabel("Night ", JLabel.CENTER);
- lblMorning = new JLabel("Morning ", JLabel.CENTER);
- lblDay = new JLabel("Day ", JLabel.CENTER);
- lblEvening = new JLabel("Evening ", JLabel.CENTER);
- lblIntHumidity = new JLabel("Interior Humidity ", JLabel.RIGHT);
- lblExtHumidity = new JLabel("Exterior Humidity ", JLabel.RIGHT);
- lblTime = new JLabel("Current Time ", JLabel.RIGHT);
- lblSprinkler = new JLabel("Sprinkler OFF", JLabel.CENTER);
- lblSprinkler.setOpaque(true);
- lblSprinkler.setBackground(Color.red);
- lblMister = new JLabel("Mister OFF", JLabel.CENTER);
- lblMister.setOpaque(true);
- lblMister.setBackground(Color.red);
- lblVents = new JLabel("Vents OFF", JLabel.CENTER);
- lblVents.setOpaque(true);
- lblVents.setBackground(Color.red);
- intHumidity = new JTextField[4];
- extHumidity = new JTextField[4];
- soilMoisture = new JTextField[4];
- time = new JTextField(4);
- lblSoilMoisture = new JLabel("Soil Moisture ", JLabel.RIGHT);
- for(int i = 0; i < 4; i++){
- intHumidity[i] = new JTextField(5);
- extHumidity[i] = new JTextField(5);
- soilMoisture[i] = new JTextField(5);
- }
- offButton.setActionCommand("Off");
- settingsButton.setActionCommand("Settingsbutton");
- operationsButton.setActionCommand("Operationsbutton");
- offButton.addActionListener(this);
- settingsButton.addActionListener(this);
- operationsButton.addActionListener(this);
- setLayout(new GridLayout(0,5) );
- add (lblPeriod);
- add (lblMorning);
- add (lblDay);
- add (lblEvening);
- add (lblNight);
- add (lblIntHumidity);
- add (intHumidity[0]);
- add (intHumidity[1]);
- add (intHumidity[2]);
- add (intHumidity[3]);
- add (lblExtHumidity);
- add (extHumidity[0]);
- add (extHumidity[1]);
- add (extHumidity[2]);
- add (extHumidity[3]);
- add (lblSoilMoisture);
- add (soilMoisture[0]);
- add (soilMoisture[1]);
- add (soilMoisture[2]);
- add (soilMoisture[3]);
- add (offButton);
- add (settingsButton);
- add (operationsButton);
- add (lblTime);
- add (time);
- add (lblSprinkler);
- add (lblMister);
- add (lblVents);
- this.setSize(600,200);
- this.setVisible( true );
- setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
- }
- public void actionPerformed( ActionEvent evt)
- {
- // check which command has been sent
- if ( evt.getActionCommand().equals( "Off" )) {
- off();
- }
- else if ( evt.getActionCommand().equals("Settingsbutton")) {
- settings();
- }
- else if ( evt.getActionCommand().equals("Operationsbutton")){
- operations();
- }
- else
- System.exit(0);
- repaint();
- }
- static Scanner greenHouseDefaults;
- static PrintWriter greenHouseSaves;
- Settings settings = new Settings();
- Operations operations = new Operations();
- public static void main(String[] args) {
- Greenhouse greenhouse = new Greenhouse();
- }
- private void off() {
- lblMister.setText("Mister ON");
- lblMister.setBackground(Color.green);
- }
- private void settings() {
- settings.setVisible(true);
- }
- private void operations() {
- int timeIndex;
- double currentTime = Double.parseDouble(time.getText());
- double inthumidity = Double.parseDouble(intHumidity[0].getText());
- double exthumidity = Double.parseDouble(extHumidity[0].getText());
- double soilmoisture = Double.parseDouble(soilMoisture[0].getText());
- if (currentTime >= settings.timefld[0] && currentTime < settings.timefld[3] ){
- timeIndex = 0;
- }
- else if (currentTime >= settings.timefld[0] && currentTime < settings.timefld[1] ){
- timeIndex = 1;
- }
- else if (currentTime >= settings.timefld[1] && currentTime < settings.timefld[2] ){
- timeIndex = 2;
- }
- else {timeIndex = 3;}
- int d = 0;
- int f = 0;
- int g = 0;
- //while (!(inthumidity - 1 < (settings.humidityfld[timeIndex] + settings.humVariancefld[timeIndex]))) {
- while (!( d == 1 || f == 1 || g == 1)) {
- if (inthumidity >= (settings.humidityfld[timeIndex] + settings.humVariancefld[timeIndex]) && exthumidity >= (settings.humidityfld[timeIndex] + settings.humVariancefld[timeIndex])) {
- lblVents.setText("Vents ON");
- lblVents.setBackground(Color.green);
- lblMister.setText("Misters OFF");
- lblMister.setBackground(Color.red);
- String c = String.valueOf(inthumidity);
- intHumidity[0].setText(c);
- inthumidity--;
- System.out.println(inthumidity + " 2...");
- if(inthumidity == settings.humidityfld[timeIndex]){
- d = 1;
- }
- }
- //}
- //while (!(inthumidity > (settings.humidityfld[timeIndex] + settings.humVariancefld[timeIndex]))) {
- if (inthumidity <= (settings.humidityfld[timeIndex] + settings.humVariancefld[timeIndex]) && exthumidity >= (settings.humidityfld[timeIndex] + settings.humVariancefld[timeIndex])) {
- lblVents.setText("Vents ON");
- lblVents.setBackground(Color.green);
- lblMister.setText("Misters OFF");
- lblMister.setBackground(Color.red);
- String b = String.valueOf(inthumidity);
- intHumidity[0].setText(b);
- inthumidity++;
- System.out.println(inthumidity + " 3...");
- if(inthumidity == settings.humidityfld[timeIndex]){
- f = 1;
- }
- }
- else {
- lblMister.setText("Misters ON");
- lblMister.setBackground(Color.green);
- lblVents.setText("Vents OFF");
- lblVents.setBackground(Color.red);
- inthumidity++;
- System.out.println(inthumidity + " 4...");
- if(inthumidity == settings.humidityfld[timeIndex]){
- g = 1;
- }
- }
- break;
- }
- while (!(soilmoisture - 1 > (settings.moisturefld[timeIndex] + settings.soilVariancefld[timeIndex]))) {
- if (soilmoisture <= (settings.moisturefld[timeIndex] + settings.soilVariancefld[timeIndex])){
- lblSprinkler.setText("Sprinkler ON");
- lblSprinkler.setBackground(Color.green);
- // Thread.sleep(500);
- String s = String.valueOf(soilmoisture);
- soilMoisture[0].setText(s);
- System.out.println(soilmoisture);
- }
- else {
- lblSprinkler.setText("Sprinkler OFF");
- lblSprinkler.setBackground(Color.red);
- }
- soilmoisture++;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement