我已经让程序允许我浏览文件以使用文件选择器进行选择。您将在下面的代码中看到此方法。我的问题是我不知道接下来该做什么。我想将选择的文件指定为图像文件。然后我想显示图像(只有图像文件将在此程序中使用)。
由于我使用的是场景构建器,它包含实际的应用程序(Paint)类以及FXML控制器类,我相信我必须为这两个类添加代码。为了清楚起见,我附上了两个。
public class FXMLDocumentController implements Initializable {
@FXML
private MenuItem open;
private MenuItem exit;
private AnchorPane pane;
private ImageView imgv;
private Stage primaryStage;
@FXML
private void handleOpenAction() {
FileChooser fileChooser = new FileChooser();
FileChooser.ExtensionFilter extFilterJPG = new FileChooser.ExtensionFilter("JPG files (*.jpg)", "*.JPG");
FileChooser.ExtensionFilter extFilterPNG = new FileChooser.ExtensionFilter("PNG files (*.png)", "*.PNG");
File file = fileChooser.showOpenDialog(primaryStage);
}
@FXML
private void handleExitAction(){
System.exit(0);
}
@Override
public void initialize(URL url, ResourceBundle rb) {
}
}
public class Paint extends Application {
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
Scene scene = new Scene(root, 400, 600);
stage.setTitle("Paint");
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
我不介意将图片加载到默认程序窗格中,但我必须能够"绘制"在后面的图像上。
有没有办法创建一个我可以添加到的(select,get,set)方法 可以从FXML类内部引用的Paint类?
我知道我必须将场景构建器元素分配给fxml 处理/使它们正常运作的方法。