Last active
December 7, 2018 20:12
-
-
Save baalajimaestro/f5bae685eaa5e551377ce45cb2c40552 to your computer and use it in GitHub Desktop.
Can't invert y axis on javafx at all. :/
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import javafx.application.Application; | |
import javafx.event.EventHandler; | |
import javafx.scene.Cursor; | |
import javafx.scene.Group; | |
import javafx.scene.Scene; | |
import javafx.scene.chart.LineChart; | |
import javafx.scene.input.MouseEvent; | |
import javafx.scene.paint.Color; | |
import javafx.scene.shape.Rectangle; | |
import java.io.FileInputStream; | |
import java.io.FileNotFoundException; | |
import javafx.application.Application; | |
import javafx.scene.Group; | |
import javafx.scene.Scene; | |
import javafx.scene.image.Image; | |
import javafx.scene.image.ImageView; | |
import javafx.stage.Stage; | |
import javafx.scene.chart.NumberAxis; | |
public class JavaFX_DrawSomething extends Application { | |
double orgSceneX, orgSceneY; | |
double orgTranslateX, orgTranslateY; | |
ImageView imageView0; | |
ImageView imageView2; | |
ImageView imageView3; | |
ImageView imageView4; | |
Image imagex; | |
NumberAxis yAxis; | |
NumberAxis xAxis; | |
Image imagey; | |
String files[]; | |
LineChart<Number,Number> lineChart; | |
Group root; | |
@Override | |
public void start(Stage primaryStage) throws FileNotFoundException | |
{ | |
Rectangle rect0 = new Rectangle(150, 50, 100, 150); | |
rect0.setFill(Color.TRANSPARENT); | |
rect0.setStroke(Color.BLACK); | |
Rectangle rect1 = new Rectangle(250, 50,100, 150); | |
rect1.setFill(Color.TRANSPARENT); | |
rect1.setStroke(Color.BLACK); | |
Rectangle rect2 = new Rectangle(350, 50,100, 150); | |
rect2.setFill(Color.TRANSPARENT); | |
rect2.setStroke(Color.BLACK); | |
Rectangle rect3 = new Rectangle(150, 200,100, 150); | |
rect3.setFill(Color.TRANSPARENT); | |
rect3.setStroke(Color.BLACK); | |
Rectangle rect4 = new Rectangle(250, 200,100, 150); | |
rect4.setFill(Color.TRANSPARENT); | |
rect4.setStroke(Color.BLACK); | |
Rectangle rect5 = new Rectangle(350, 200, 100,150); | |
rect5.setFill(Color.TRANSPARENT); | |
rect5.setStroke(Color.BLACK); | |
Rectangle rect6 = new Rectangle(150, 350,100, 150); | |
rect6.setFill(Color.TRANSPARENT); | |
rect6.setStroke(Color.BLACK); | |
Rectangle rect7 = new Rectangle(250, 350,100, 150); | |
rect7.setFill(Color.TRANSPARENT); | |
rect7.setStroke(Color.BLACK); | |
Rectangle rect8 = new Rectangle(350, 350, 100,150); | |
rect8.setFill(Color.TRANSPARENT); | |
rect8.setStroke(Color.BLACK); | |
imagex = new Image(new FileInputStream("/Users/baalajimaestro/Downloads/Lol/img1.png")); | |
Image image = new Image(new FileInputStream("/Users/baalajimaestro/Downloads/Lol/blank.jpg")); | |
imageView0 = new ImageView(imagex); | |
imageView4 = new ImageView(image); | |
imageView4.setX(0); | |
imageView4.setY(0); | |
imageView4.setFitHeight(150); | |
imageView4.setFitWidth(100); | |
imageView4.setCursor(Cursor.HAND); | |
imageView4.setOnMouseDragged(circleOnMouseDraggedEventHandler); | |
imageView0.setX(500); | |
imageView0.setY(3); | |
imageView0.setFitHeight(150); | |
imageView0.setFitWidth(100); | |
imageView0.setCursor(Cursor.HAND); | |
imageView0.setOnMouseDragged(circleOnMouseDraggedEventHandler); | |
imagey = new Image(new FileInputStream("/Users/baalajimaestro/Downloads/Lol/img2.png")); | |
imageView2 = new ImageView(imagey); | |
imageView3 = new ImageView(image); | |
imageView2.setX(500); | |
imageView2.setY(200); | |
iggggg=new Image(new FileInputStream("/Users/baalajimaestro/Downloads/tester_ruler.jpg")) | |
ImageView ruler = new ImageView(iggggg); | |
ruler.setX(10); | |
ruler.setY(10); | |
igg=new Image(new FileInputStream("/Users/baalajimaestro/Downloads/tester_ruler_2.jpg")) | |
ImageView ruler1 = new ImageView(igg); | |
ruler1.setX(10); | |
ruler1.setY(10); | |
imageView2.setFitHeight(150); | |
imageView2.setFitWidth(100); | |
imageView3.setX(0); | |
imageView3.setY(0); | |
imageView3.setFitHeight(150); | |
imageView3.setFitWidth(100); | |
imageView2.setCursor(Cursor.HAND); | |
imageView2.setOnMouseDragged(circleOnMouseDraggedEventHandler); | |
yAxis.setTickLabelFormatter(new NumberAxis.DefaultFormatter(yAxis) { | |
@Override | |
public String toString(Number value) { | |
// note we are printing minus value | |
return String.format("%7.1f", -value.doubleValue()); | |
} | |
}); | |
root = new Group(); | |
root.getChildren().addAll(imageView0,imageView2,rect0,rect1,rect2,rect3,rect4,rect5,rect6,rect7,rect8,ruler,ruler1); | |
primaryStage.setResizable(false); | |
primaryStage.setScene(new Scene(root,900,1000)); | |
primaryStage.setTitle(":)"); | |
primaryStage.show(); | |
} | |
public static void main(String[] args) { | |
launch(args); | |
} | |
EventHandler<MouseEvent> circleOnMouseDraggedEventHandler = | |
new EventHandler<MouseEvent>() { | |
@Override | |
public void handle(MouseEvent t) { | |
double offsetX = t.getSceneX() - orgSceneX; | |
double offsetY = t.getSceneY() - orgSceneY; | |
double newTranslateX = orgTranslateX + offsetX; | |
double newTranslateY = orgTranslateY + offsetY; | |
////////////For logging & testing purpose | |
//////////////////////// System.out.println(newTranslateX+" "+newTranslateY); | |
if(t.getSource()==imageView0) | |
{ | |
imageView3 = new ImageView(imagex); | |
imageView3.setX(500); | |
imageView3.setY(3); | |
imageView3.setFitHeight(150); | |
imageView3.setFitWidth(100); | |
imageView3.setCursor(Cursor.HAND); | |
imageView3.setOnMouseDragged(circleOnMouseDraggedEventHandler); | |
root.getChildren().addAll(imageView3); | |
imageView0.setX(newTranslateX); | |
imageView0.setY(newTranslateY); | |
} | |
if(t.getSource()==imageView3) | |
{ | |
imageView3.setX(newTranslateX); | |
imageView3.setY(newTranslateY); | |
} | |
if(t.getSource()==imageView4) | |
{ | |
imageView4.setX(newTranslateX); | |
imageView4.setY(newTranslateY); | |
} | |
if(t.getSource()==imageView2) | |
{ | |
imageView4 = new ImageView(imagey); | |
imageView4.setX(500); | |
imageView4.setY(200); | |
imageView4.setFitHeight(150); | |
imageView4.setFitWidth(100); | |
imageView4.setCursor(Cursor.HAND); | |
imageView4.setOnMouseDragged(circleOnMouseDraggedEventHandler); | |
root.getChildren().addAll(imageView4); | |
imageView2.setX(newTranslateX); | |
imageView2.setY(newTranslateY); | |
} | |
} | |
}; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment