Java 使用Swing&;保存文件/打开文件对话框;Netbeans GUI编辑器
我是Java的初学者。我正在使用netbeans 7(.3)IDE的GUI编辑器制作一个简单的文本编辑器。我面临的主要问题是无法保存/打开文件。我已经创建了“保存”按钮。当我删除文件选择器时,它是一个嵌入在java窗口中的普通打开的文件对话框,没有任何功能。我还尝试过在单击save按钮(在源代码视图中)时创建一个新的jFileChooser,但它不起作用Java 使用Swing&;保存文件/打开文件对话框;Netbeans GUI编辑器,java,swing,netbeans,user-interface,Java,Swing,Netbeans,User Interface,我是Java的初学者。我正在使用netbeans 7(.3)IDE的GUI编辑器制作一个简单的文本编辑器。我面临的主要问题是无法保存/打开文件。我已经创建了“保存”按钮。当我删除文件选择器时,它是一个嵌入在java窗口中的普通打开的文件对话框,没有任何功能。我还尝试过在单击save按钮(在源代码视图中)时创建一个新的jFileChooser,但它不起作用 简而言之,我需要一个简单的打开/保存对话框。当按下“保存”按钮时,保存对话框将打开,并在用户选择的任何位置以任何名称和.rtf或.txt扩展名
简而言之,我需要一个简单的打开/保存对话框。当按下“保存”按钮时,保存对话框将打开,并在用户选择的任何位置以任何名称和.rtf或.txt扩展名保存文件。(注意:是否可以在.docx或.doc中用Java保存文件?
当按下“打开”btn时,它会通过文件选择器以.rtf或.txt格式打开文件(同样,是否可以以Java格式打开.docx或.doc?)
private void saveButtonActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser saveFile = new JFileChooser();
if saveFile.showSaveDialog(modalToComponent) == JFileChooser.APPROVE_OPTION {
File xyz = saveFile.getSelectedFile();
}
}
代码如下:我认为您面临三个问题:
公元3年。具有扩展名的文件和文件格式之间存在差异。您可以将任何文件的格式更改为您想要的任何格式,但这不会影响其内容。它可能只是使与此扩展名关联的应用程序无法读取文件。TXT文件很简单——你可以读你写的东西。XLS、DOCX等需要更多的工作,通常框架是解决这些问题的最佳方法 以任何格式保存都是非常可能的。 检查以下内容- 第二,保存对话框的工作原理是这样的, 打开文档文件是非常有可能的-
我创建了一个示例UI,其中显示了“保存和打开文件”对话框。单击“保存”按钮打开“保存”对话框,单击“打开”按钮打开“文件”对话框
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class FileChooserEx {
public static void main(String[] args) {
Runnable r = new Runnable() {
@Override
public void run() {
new FileChooserEx().createUI();
}
};
EventQueue.invokeLater(r);
}
private void createUI() {
JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
JButton saveBtn = new JButton("Save");
JButton openBtn = new JButton("Open");
saveBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
JFileChooser saveFile = new JFileChooser();
saveFile.showSaveDialog(null);
}
});
openBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
JFileChooser openFile = new JFileChooser();
openFile.showOpenDialog(null);
}
});
frame.add(new JLabel("File Chooser"), BorderLayout.NORTH);
frame.add(saveBtn, BorderLayout.CENTER);
frame.add(openBtn, BorderLayout.SOUTH);
frame.setTitle("File Chooser");
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
这里有一个例子
private void doOpenFile() {
int result = myFileChooser.showOpenDialog(this);
if (result == JFileChooser.APPROVE_OPTION) {
Path path = myFileChooser.getSelectedFile().toPath();
try {
String contentString = "";
for (String s : Files.readAllLines(path, StandardCharsets.UTF_8)) {
contentString += s;
}
jText.setText(contentString);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
private void doSaveFile() {
int result = myFileChooser.showSaveDialog(this);
if (result == JFileChooser.APPROVE_OPTION) {
// We'll be making a mytmp.txt file, write in there, then move it to
// the selected
// file. This takes care of clearing that file, should there be
// content in it.
File targetFile = myFileChooser.getSelectedFile();
try {
if (!targetFile.exists()) {
targetFile.createNewFile();
}
FileWriter fw = new FileWriter(targetFile);
fw.write(jText.getText());
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
请发布一些代码我们需要查看一些代码是的,这些代码没有任何帮助,因为它充满了html标记。请使用代码块(看起来像{})在这里发布代码摘录。没有人需要/想要阅读您的所有代码(您的链接甚至不起作用)。为了回答您的实际问题,您可以从java中保存一个具有任何扩展名的文件。由您来确保文件的内容与扩展名匹配。换句话说,如果您编写note.doc文件,该文件应包含1997 Word文档格式的Word文档。我指的是windows操作系统上的digalog box样式,因为此代码使digalog box与Mac上的类似。@Amarnath,使用“保存”按钮保存的是什么文件?如何让
ActionListener
打开保存特定文件的对话框?我可以为JFileChooser
指定要打开的默认文件夹吗?提前感谢您的时间,并祝贺您的回答