[英]Open file with JFileChooser and display it in JFrame/JPanel
因此,我試圖在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);
}
最終弄清楚了如何在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); } }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.