0
的東西,我的JavaFX初學者: 我正在開發使用JavaFX和場景生成器,與X軸和Y軸座標平面上的圖形用戶界面。它應該是這樣的:https://postimg.cc/image/98k9mvnb3/ 當有人在這個座標平面上的任何地方點擊鼠標時,它將顯示控制檯上像素的座標點(x,y),並且會有一個標記(像點或一些文本將被寫入)在鼠標點擊的地方。如何畫在畫布上的JavaFX
爲了實現這些東西我必須使用畫布&我能夠獲得座標點,但我沒有得到如何繪製座標平面以及如何在像素點擊鼠標的地方寫點東西。
這是我的代碼: 控制器類 包應用程序;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.canvas.Canvas;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.AnchorPane;
public class AxisController implements Initializable{
@FXML
private AnchorPane anchr;
@FXML
private Canvas canvas;
@Override
public void initialize(URL location, ResourceBundle resources) {
assert canvas != null : "fx:id=\"canvas\" was not injected: check your FXML file 'AxisFxml.fxml'.";
}
@FXML
private void handleMouse(MouseEvent event){
System.out.println(event.getX());
System.out.println(event.getY());
}
}
主類:
package application;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
public class AxisMain extends Application {
@Override
public void start(Stage primaryStage) {
try {
AnchorPane root = FXMLLoader.load(getClass().getResource("/application/AxisFxml.fxml"));
Scene scene = new Scene(root,400,400);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
現在感謝您對本公司的工作,但怎麼樣座標平面 – bSr
如果現在的工作,你可能已經正確:-)做到了 – mipa