所以我试图在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);
}
答案 0 :(得分:0)
了解如何在JTextArea中显示文件。谢谢你们的回应。这是我更新的代码,它正如我想要的那样工作。
private void OpenActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser chooser= new JFileChooser();
chooser.setCurrentDirectory(new File("c:\\temp"));
chooser.setFileFilter(new FileNameExtensionFilter("map","MAP"));
int value = chooser.showOpenDialog(null);
File f= chooser.getSelectedFile();
String filename= f.getAbsolutePath();
try{
FileReader reader = new FileReader(filename);
BufferedReader br = new BufferedReader(reader);
jTextArea1.read(br,null);
br.close();
jTextArea1.requestFocus();
}catch(Exception e){
JOptionPane.showMessageDialog(null,e);
}
}