如何显示使用filechooser Javafx FXML选择的图像

时间:2017-09-11 19:33:15

标签: javafx netbeans fxml scenebuilder filechooser

我已经让程序允许我浏览文件以使用文件选择器进行选择。您将在下面的代码中看到此方法。我的问题是我不知道接下来该做什么。我想将选择的文件指定为图像文件。然后我想显示图像(只有图像文件将在此程序中使用)。

由于我使用的是场景构建器,它包含实际的应用程序(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);
}

我不介意将图片加载到默认程序窗格中,但我必须能够"绘制"在后面的图像上。

  1. 如何获取/设置通过filechooser选择的图像?
    • 我是在同一个FXML方法中做这个还是单独制作一个方法?
  2. 如何显示图像?
    • 我是否应该创建图片将手动加载的窗格 在FXML类中或在Paint类中?
  3. 有没有办法创建一个我可以添加到的(select,get,set)方法 可以从FXML类内部引用的Paint类?

  4. 我知道我必须将场景构建器元素分配给fxml 处理/使它们正常运作的方法。

0 个答案:

没有答案