我编一个文本编辑器的例子 打开文件的方法定义为OpenFile然后书上用这样的代码来实现OpenFile这个方法
JFileChooser jFileChooser1=new JFileChooser();
void openFile(){
if(!okToAbandon()){
return;
}
if(JFileChooser.APPROVE_OPTION==jFileChooser1.showOpenDialog(this)){
openSelectedFile(jFileChooser1.getSelectedFile().getPath());
}
}
结果JB中提示说在javax.swing.JFileChooser中找不到showOpenDialog()方法
但我在SUN网站上找到这个方法了呀http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JFileChooser.html还有他的方法描述:
showOpenDialog(Component parent)
Pops up an "Open File" file chooser dialog.
怎么就是不对呢是不是我里面的参数有问题哟 请高手指点下了 参数要怎么写呀
JFileChooser jFileChooser1=new JFileChooser();
void openFile(){
if(!okToAbandon()){
return;
}
if(JFileChooser.APPROVE_OPTION==jFileChooser1.showOpenDialog(this)){
openSelectedFile(jFileChooser1.getSelectedFile().getPath());
}
}
结果JB中提示说在javax.swing.JFileChooser中找不到showOpenDialog()方法
但我在SUN网站上找到这个方法了呀http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JFileChooser.html还有他的方法描述:
showOpenDialog(Component parent)
Pops up an "Open File" file chooser dialog.
怎么就是不对呢是不是我里面的参数有问题哟 请高手指点下了 参数要怎么写呀
if (result == JFileChooser.APPROVE_OPTION)
{
}应该是这样吧!!希望帮到你!
chooser.setFont(cm.font);
chooser.setDialogTitle("Open file");
chooser.setMultiSelectionEnabled(true);
int result = chooser.showOpenDialog(paintWindow);
if(result==JFileChooser.APPROVE_OPTION){}
int state = jFileChooser.showOpenDialog(frame);
if (state == JFileChooser.APPROVE_OPTION) {
File f = jFileChooser.getSelectedFile();
try {
BufferedReader br = new BufferedReader(new FileReader(f));
jTextArea.read(br, null);
br.close();
frame.setTitle(title);
hasChanged = false;
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
} private void saveFile() {
int state = jFileChooser.showSaveDialog(frame);
if (state == JFileChooser.APPROVE_OPTION) {
File f = jFileChooser.getSelectedFile();
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(f));
jTextArea.write(bw);
bw.close();
frame.setTitle(title);
hasChanged = false;
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
还有, skysa(黑嘉) 可以说说 :int result = jFileChooser1.showSaveDialog(new JFrame());
为什么这么改么?
我的程序里new JFrame()的位置也是用this代替的,结果不行,但是用你的方法也不行。
能解释一下原因么?