【发布时间】:2017-10-30 10:01:57
【问题描述】:
所以我尝试在 NetBeans IDE 中创建 swing gui。我是 Java 新手并正在构建 gui,所以它有点学习曲线。
我创建了一个名为“Open”的 JMenuItem 并使用 JFileChooser 打开一个文件并显示它。我限制自己的文件扩展名是“*.map”。
所以我的代码可以正常工作,它会在我桌面上的新窗口中打开所选文件。但我试图弄清楚如何在我的 JFrame 中打开文件而不是新窗口。 它不是 .txt 文件,所以我认为我不能使用 JTextArea 或 JTextField。我要在我的 JFrame 中创建一个 JPanel 吗?
这是我的 ActionPerformed 事件代码:
private void OpenActionPerformed(java.awt.event.ActionEvent evt) {
try{
JFileChooser chooser= new JFileChooser();
chooser.setCurrentDirectory(new File("c:\\temp"));
chooser.setFileFilter(new FileNameExtensionFilter("map","MAP"));
int value = chooser.showOpenDialog(null);
if(value == JFileChooser.APPROVE_OPTION){
File selectedFile = chooser.getSelectedFile();
String path = selectedFile.getAbsolutePath();
File myFile = new File(path);
Desktop.getDesktop().open(myFile);
messageLabel.setText("Map successfully Loaded!");
}
}catch(Exception e){
JOptionPane.showMessageDialog(null,e);
}
【问题讨论】:
-
.map文件是什么样的文件? -
Desktop.getDesktop().open(myFile);将导致操作系统使用与其关联的应用程序打开指定文件。在当前应用中处理,只需要调用逻辑即可,无需提交给操作系统处理。 -
因此 .map 文件包含文本,其中包含有关“place placeName xpos ypos”形式的地点信息,因此它是一个描述地图的文件,每个文件上都有一系列记录,例如“place London 200 250”换行
标签: java swing jfilechooser