Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package DogHouse;
- import java.net.URL;
- import java.util.Date;
- import javafx.application.Application;
- import javafx.scene.Scene;
- import javafx.scene.control.Alert;
- import javafx.scene.control.Alert.AlertType;
- import javafx.scene.control.Button;
- import javafx.scene.control.ButtonType;
- import javafx.scene.image.Image;
- import javafx.scene.image.ImageView;
- import javafx.scene.layout.GridPane;
- import javafx.scene.media.Media;
- import javafx.scene.media.MediaPlayer;
- import javafx.scene.paint.Color;
- import javafx.scene.text.Font;
- import javafx.scene.text.FontWeight;
- import javafx.scene.text.Text;
- import javafx.stage.Stage;
- import javafx.util.Duration;
- import java.text.DecimalFormat;
- import java.text.NumberFormat;
- import java.lang.Math;
- import java.math.*;
- import java.util.Properties;
- import javax.mail.Message; ///////////////////////////UPDATE//////////////////////
- import javax.mail.MessagingException; ///////////////////////////UPDATE////////////////////
- import javax.mail.PasswordAuthentication; ///////////////////////////UPDATE//////////////////
- import javax.mail.Session; ////////////////////////////UPDATE///////////////
- import javax.mail.Transport; ///////////////////////////UPDATE///////////////
- import javax.mail.internet.InternetAddress;////////////////////////////UPDATE//////////////
- import javax.mail.internet.MimeMessage; //////////////////////////////UPDATE///////////
- public class javaFXPane extends Application {
- private static MediaPlayer mediaPlayer;
- private static MediaPlayer cuteBarking;
- private static MediaPlayer dogPanting;
- private static MediaPlayer mediaPlayerHeater;
- private static MediaPlayer mediaPlayerHeaterNext;
- int x = 0; //variable to track pet x position
- int y = 0;//variable to track pet's y position
- int a = 250;//pet size
- int b = 250;//pet size
- @Override
- public void start(Stage stage) throws Exception {
- //class to register dog position
- DistanceFromHouse dog = new DistanceFromHouse();
- ImageView pet = new ImageView();
- ImageView dogHouse = new ImageView();
- //pet properties
- pet.setImage(new Image("dog.gif"));
- pet.setFitHeight(a);
- pet.setFitWidth(b);
- //pet coordinates
- pet.setX(0);
- pet.setY(0);
- pet.setOnMouseDragged(e -> {
- pet.setX(e.getX());
- pet.setY(e.getY());
- });
- //dog house image
- dogHouse.setImage(new Image("dogHouse.png"));
- dogHouse.setFitHeight(280);
- dogHouse.setFitWidth(400);
- GridPane pane = new GridPane();
- pane.setHgap(10);
- pane.setVgap(10);
- pane.add(dogHouse, 0, 19);
- Button viewRecord = new Button("View Record");
- //buttons to move pet
- Button btCheckDistance = new Button("Check Distance");
- Button btMoveFordward = new Button("Fordward");
- Button btMoveBackward = new Button("backward");
- Button btUpward = new Button ("Upward");
- Button btDownward = new Button("Downward");
- /*Button btTotalDistance = new Button("Total Distance");*/
- viewRecord.setOnAction(e->{
- });
- //buttons Action Event
- //check distance button
- btCheckDistance.setOnAction( e ->
- {
- ////////////////////////////////UPDATE///////////////////////////////////////////////
- dog.totalDistance();
- Alert alert = new Alert(AlertType.INFORMATION);
- alert.setTitle("pet's distance");
- alert.setHeaderText(null);
- if(dog.total>0)
- {
- alert.setContentText("The dog is now: "+dog.total +" feet from the dog house.");
- }
- else if(dog.total==0&&!(0<pet.getTranslateX()&&pet.getTranslateX()<dogHouse.getFitWidth()))
- {
- alert.setContentText("The dog is now: 0 feet from the dog house.");
- }
- else
- {
- double distance = dog.total*(-1);
- alert.setContentText("The dog is now: "+ distance +" feet from the dog house.");
- }
- alert.showAndWait();
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////
- });
- //forward button
- btMoveFordward.setOnAction((e) ->
- {
- pet.setScaleX(1);
- x -= 40;
- pet.setTranslateX(x);
- dog.moveForward();
- if(dog.distance == 0 ){btMoveFordward.setDisable(true);}
- if(dog.distance < 39) {btMoveBackward.setDisable(false);}
- ///////////////////////////////////////UPDATE////////////////////////////////////////////
- dog.totalDistance();
- if(dog.total == 0)
- {
- final String username = "doghousemessage@gmail.com"; // enter your mail id
- final String password = "Victory5";// enter your password
- Properties props = new Properties();
- props.put("mail.smtp.auth", "true");
- props.put("mail.smtp.starttls.enable", "true");
- props.put("mail.smtp.host", "smtp.gmail.com");
- props.put("mail.smtp.port", "587");
- Session session = Session.getInstance(props,
- new javax.mail.Authenticator() {
- protected PasswordAuthentication getPasswordAuthentication() {
- return new PasswordAuthentication(username, password);
- }
- });
- try {
- Message message = new MimeMessage(session);
- message.setFrom(new InternetAddress("doghousemessage@gmail.com")); // same email id
- message.setRecipients(Message.RecipientType.TO,
- InternetAddress.parse("12134015251@mymetropcs.com"));// whom you have to send mails that person id
- message.setSubject("Alert");
- message.setText("Your dog is at the dog house!");
- Transport.send(message);
- System.out.println("Done");
- } catch (MessagingException e1) {
- throw new RuntimeException(e1);
- }
- }
- ///////////////////////////////////////////////////////////////////////////////////////////////////
- });
- //backward button
- btMoveBackward.setOnAction(e ->
- {
- pet.setScaleX(-1);
- x += 40;
- pet.setTranslateX(x);
- dog.moveBackward();
- if(dog.distance > 0){btMoveFordward.setDisable(false);};
- if(dog.distance > 39){btMoveBackward.setDisable(true);}
- /////////////////////////////////UPDATE////////////////////////////////////
- dog.totalDistance();
- if(dog.total > 41)
- {
- final String username = "doghousemessage@gmail.com"; // enter your mail id
- final String password = "Victory5";// enter your password
- Properties props = new Properties();
- props.put("mail.smtp.auth", "true");
- props.put("mail.smtp.starttls.enable", "true");
- props.put("mail.smtp.host", "smtp.gmail.com");
- props.put("mail.smtp.port", "587");
- Session session = Session.getInstance(props,
- new javax.mail.Authenticator() {
- protected PasswordAuthentication getPasswordAuthentication() {
- return new PasswordAuthentication(username, password);
- }
- });
- try {
- Message message = new MimeMessage(session);
- message.setFrom(new InternetAddress("doghousemessage@gmail.com")); // same email id
- message.setRecipients(Message.RecipientType.TO,
- InternetAddress.parse("12134015251@mymetropcs.com"));// whom you have to send mails that person id
- message.setSubject("Alert");
- message.setText("Your dog is too far from the dog house!");
- Transport.send(message);
- System.out.println("Done");
- } catch (MessagingException e1) {
- throw new RuntimeException(e1);
- }
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////
- });
- btUpward.setOnAction(e ->
- {
- y -= 40;
- pet.setTranslateY(y);
- a -= 25;
- b -= 25;
- pet.setFitHeight(a);
- pet.setFitWidth(b);
- dog.Upward();
- if(dog.distanceV > 0){btDownward.setDisable(false);}
- if(dog.distanceV > 20) {btUpward.setDisable(true);}
- });
- btDownward.setDisable(true); ///////////////////////////UPDATE/////////////////////////////////////
- btDownward.setOnAction(e ->
- {
- y += 40;
- pet.setTranslateY(y);
- a += 25;
- b += 25;
- pet.setFitHeight(a);
- pet.setFitWidth(b);
- dog.Downward();
- if(dog.distanceV == 0) {btDownward.setDisable(true);} //////////UPDATE/////////////////////////////
- if(dog.distanceV < 22) {btUpward.setDisable(false);} ///////////UPDATE///////////////////////////
- });
- ////////////////////////////Temperature buttons and property//////////////////////////////////////////////////////////
- Temperature temp = new Temperature();
- Text label = new Text("The current temperature: " + temp.GetTemperature());
- label.setFont(Font.font("Arial", FontWeight.BOLD, 20));
- label.setFill(Color.BEIGE);
- label.setStyle("-fx-background-color: coral;");
- Button tempUp = new Button("TempUp");
- Button tempDown = new Button("TempDown");
- tempUp.setOnAction(e ->{
- temp.SetTemperatureUp();
- label.setText("The current temperature: " + temp.GetTemp());
- if(temp.GetTemp()==70) {
- pane.setStyle( "-fx-background-image: url(" +
- "'backyard.jpg'" +
- "); " +
- "-fx-background-size: cover;");
- }
- if(temp.GetTemp() == 100) {
- Alert alert = new Alert(AlertType.CONFIRMATION, "Too hot! Do you want to turn on the AC for your pet?", ButtonType.YES, ButtonType.NO, ButtonType.CANCEL);
- alert.setHeaderText("Too hot alert!");
- alert.showAndWait();
- if(alert.getResult() == ButtonType.NO) {
- pane.setStyle( "-fx-background-image: url(" +
- "'scotching.jpg'" +
- "); " +
- "-fx-background-size: cover;");
- }
- if (alert.getResult() == ButtonType.YES) {
- Button button = new Button("Back");
- button.setStyle("-fx-background-color: YELLOW");
- GridPane pane1 = new GridPane();
- Stage stage1 = new Stage();
- pane1.setStyle( "-fx-background-image: url(" +
- "'room.jpg'" +
- "); " +
- "-fx-background-size: cover;");
- ImageView ima = new ImageView();
- ima.setImage(new Image("dog hot.gif"));
- ima.setFitHeight(350);
- ima.setFitWidth(350);
- ImageView AC = new ImageView();
- AC.setImage(new Image("AC.gif"));
- AC.setFitHeight(100);
- AC.setFitWidth(150);
- button.setOnAction(en->{
- stage1.close();
- dogPanting.stop();
- mediaPlayer.play();
- stage.show();
- });
- pane1.setVgap(10);
- pane1.setHgap(10);
- pane1.add(button, 1, 1);
- pane1.add(ima, 7, 20);
- pane1.add(AC, 0, 1);
- stage1.setScene(new Scene(pane1,800,800));
- stage1.show();
- mediaPlayer.stop();
- final URL dogPantingResource = getClass().getResource("dogPanting.mp3");
- final Media dogPantingMedia = new Media(dogPantingResource.toString());
- dogPanting = new MediaPlayer(dogPantingMedia);
- dogPanting.setOnEndOfMedia(new Runnable() {
- public void run() {
- dogPanting.seek(Duration.ZERO);
- }
- });
- dogPanting.play();
- stage.close();
- }
- }
- });
- tempDown.setOnAction(e->{
- temp.SetTemperatureDown();
- label.setText("The current temperature: " + temp.GetTemp());
- if(temp.GetTemp()==70) {
- pane.setStyle( "-fx-background-image: url(" +
- "'backyard.jpg'" +
- "); " +
- "-fx-background-size: cover;");
- }
- if(temp.GetTemp()== 50) {
- Alert alert1 = new Alert(AlertType.CONFIRMATION, "Too cold! Do you want to turn on the heater for your pet?", ButtonType.YES, ButtonType.NO, ButtonType.CANCEL);
- alert1.showAndWait();
- if (alert1.getResult() == ButtonType.YES) {
- Button button1 = new Button("Back");
- GridPane pane2 = new GridPane();
- Stage stage2 = new Stage();
- pane2.setStyle( "-fx-background-image: url(" +
- "'room.jpg'" +
- "); " +
- "-fx-background-size: cover;");
- ImageView imCold = new ImageView();
- imCold.setImage(new Image("dogHappy.gif"));
- imCold.setFitHeight(350);
- imCold.setFitWidth(350);
- ImageView heater = new ImageView();
- heater.setImage(new Image("heater.gif"));
- heater.setFitHeight(100);
- heater.setFitWidth(150);
- button1.setOnAction(en->{
- stage2.close();
- mediaPlayerHeaterNext.stop();
- stage.show();
- mediaPlayer.play();
- cuteBarking.play();
- });
- pane2.setVgap(10);
- pane2.setHgap(10);
- pane2.add(button1, 1, 1);
- pane2.add(imCold, 7, 30);
- pane2.add(heater, 0, 1);
- stage2.setScene(new Scene(pane2,800,800));
- stage2.show();
- mediaPlayer.stop();
- final URL resource = getClass().getResource("dogHappySound.mp3");
- final Media media1 = new Media(resource.toString());
- final URL resource1 = getClass().getResource("Calming-harp-music.mp3");
- final Media media2 = new Media(resource1.toString());
- mediaPlayerHeaterNext = new MediaPlayer(media2);
- mediaPlayerHeater = new MediaPlayer(media1);
- mediaPlayerHeater.play();
- mediaPlayerHeaterNext.play();
- stage.close();
- }
- if (alert1.getResult() == ButtonType.NO) {
- pane.setStyle( "-fx-background-image: url(" +
- "'snow.jpg'" +
- "); " +
- "-fx-background-size: cover;");
- }
- }
- });
- pane.add(tempUp, 0, 0);
- pane.add(tempDown, 0, 1);
- pane.add(label,0,2);
- String dogFood = "dogFood.jpeg";
- String dogWater = "15-154507_cartoon-dog-water-bowl.png";
- ImageView imFood = new ImageView();
- ImageView imWater = new ImageView();
- Date time = new Date();
- int i = time.getMonth() + 1;
- Text timing = new Text("The time: " + i + "/" + time.getDate() +"/2018 "
- + time.getHours() +":" + time.getMinutes());
- timing.setFont(Font.font("Arial", FontWeight.BOLD, 20));
- Button timeUp = new Button("time up");
- Button timeDo = new Button("time down");
- timeUp.setOnAction(e->{
- int min = time.getMinutes();
- time.setMinutes(min+=10);
- timing.setText("The time: " + i + "/" + time.getDate() +"/2018 "
- + time.getHours() +":" + time.getMinutes());
- if((time.getHours() == 7||time.getHours() == 15 )&& (time.getMinutes()>30&&time.getMinutes()<40)) {
- imFood.setImage(new Image(dogFood));
- imFood.setFitHeight(50);
- imFood.setFitWidth(50);
- // imWater.setImage(new Image(dogWater));
- imWater.setFitHeight(50);
- imWater.setFitWidth(50);
- pane.add(imFood, 1, 6);
- pane.add(imWater, 2, 6);
- }
- else {
- pane.getChildren().remove(imFood);
- pane.getChildren().remove(imWater);
- }
- });
- timeDo.setOnAction(e->{
- int min = time.getMinutes();
- time.setMinutes(min-=10);
- timing.setText("The time: " + i + "/" + time.getDate() +"/2018 "
- + time.getHours() +":" + time.getMinutes());
- if((time.getHours() == 7||time.getHours() == 15 )&& (time.getMinutes()>30&&time.getMinutes()<40)) {
- imFood.setImage(new Image(dogFood));
- imFood.setFitHeight(50);
- imFood.setFitWidth(50);
- // imWater.setImage(new Image(dogWater));
- imWater.setFitHeight(50);
- imWater.setFitWidth(50);
- pane.add(imFood, 1, 6);
- pane.add(imWater, 2, 6);
- }
- else {
- pane.getChildren().remove(imFood);
- pane.getChildren().remove(imWater);
- }
- });
- //////////////////////////////objects added to pane//////////////////////////////////////////////////////////
- pane.add(timeUp, 2, 0);
- pane.add(timeDo, 2, 1);
- pane.add(timing, 2, 2);
- pane.add(btMoveBackward,0, 15);
- pane.add(btMoveFordward, 0, 16);
- pane.add(btCheckDistance, 0, 17);
- pane.add(viewRecord,0, 18);
- pane.add(btUpward,0,13);
- pane.add(btDownward,0,14);
- /*pane.add(btTotalDistance, 1, 18);*/
- pane.add(pet,2,19);
- /////////////////////////////////dog at pane:default (4,19)/////////////////////////////////////////////////
- pane.setStyle( "-fx-background-image: url(" +
- "'backyard.jpg'" +
- "); " +
- "-fx-background-size: cover;");
- stage.setScene(new Scene(pane, 925, 1500));/////////////////////////default(pane,900,1500)
- final URL resource = getClass().getResource("FunnyDay.mp3");
- final Media media = new Media(resource.toString());
- final URL cuteBarkingResource = getClass().getResource("dogCuteBarking.mp3");
- final Media cuteBarkingMedia = new Media(cuteBarkingResource.toString());
- cuteBarking= new MediaPlayer(cuteBarkingMedia);
- cuteBarking.play();
- mediaPlayer = new MediaPlayer(media);
- mediaPlayer.setOnEndOfMedia(new Runnable() {
- public void run() {
- mediaPlayer.seek(Duration.ZERO);
- }
- });
- mediaPlayer.play();
- stage.show();
- }
- public static void main(String[] args) {
- launch(args);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement