当前位置: 代码迷 >> Java相关 >> 为什么第一次输入文本那时在按新建不会弹出窗口
  详细解决方案

为什么第一次输入文本那时在按新建不会弹出窗口

热度:127   发布时间:2007-05-25 17:34:15.0
为什么第一次输入文本那时在按新建不会弹出窗口

import java.awt.FileDialog;
import java.awt.event.*;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;

import javax.swing.JOptionPane;
public class Wenjian implements ActionListener{

public void actionPerformed(ActionEvent e)
{
//新建的功能表
//===================================================================================
if(e.getActionCommand().equals("新建"))
{
jian();
//调用方法判断文件内容有没改变
if(Caidan1.falg==true)//如果有改变
{
int k;
k=JOptionPane.showOptionDialog(Caidan1.kuang, "是否保存", "提示", JOptionPane.YES_NO_CANCEL_OPTION ,JOptionPane.QUESTION_MESSAGE,null, null,null);
//弹出对话诓
if(k==JOptionPane.OK_OPTION)//按”是“时候调用保存或另存为的方法 然后在把判断值该变
{ Cun();

}else if(k==JOptionPane.NO_OPTION)//按“否”就新建
{
Caidan1.wenben.setText("");

}else //撤消不用做什么
{}
Caidan1.falg=false;
}else//前面没运行就到这新建
{Caidan1.wenben.setText("");
}

}

//======================================================================================
else if(e.getActionCommand().equals("打开"))
{
jian();
if(Caidan1.falg==true)//判断原文件有没改变过
{
int k;
k=JOptionPane.showOptionDialog(Caidan1.kuang, "是否保存", "提示", JOptionPane.YES_NO_CANCEL_OPTION ,JOptionPane.QUESTION_MESSAGE,null, null,null);
// 弹出对话诓
if(k==JOptionPane.OK_OPTION)//按是就调用保存或另存功能
{ Cun();
Caidan1.falg=true;

}else if(k==JOptionPane.NO_OPTION)//这这样也是没错的。。不过最好就不要其实要调用输出流
{
Caidan1.wenben.setText("");
}else
{}
Caidan1.falg=false;
}
FileDialog fd=new FileDialog(Caidan1.kuang,"打开",FileDialog.LOAD);
fd.show();
String strFile=fd.getDirectory()+fd.getFile();
if(strFile!=null)
{
try {
FileReader fr=new FileReader(strFile);
BufferedReader fis=new BufferedReader(fr);
String line=fis.readLine();
Caidan1.falg=true;
while(line!=null)
{
Caidan1.wenben.append(line+"\n");
line=fis.readLine();
}
fis.close();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}

//==========================================================================
else if(e.getActionCommand().equals("保存"))
{
Cun();
}
//==================================================
else if(e.getActionCommand().equals("另存为"))
{
Caidan1.mulu=null;
Cun();

}

else if(e.getActionCommand().equals("退出"))
{
tuei();}
}
public void Cun()
{
if(Caidan1.mulu==null)
{
FileDialog ff=new FileDialog(Caidan1.kuang,"打开",FileDialog.SAVE);
ff.show();
Caidan1.mulu=ff.getDirectory()+ff.getFile();
try{
FileWriter Fr=new FileWriter(Caidan1.mulu);
BufferedWriter FF=new BufferedWriter(Fr);
FF.write(Caidan1.wenben.getText());
FF.newLine();
FF.close();

}catch(Exception p)
{
p.printStackTrace();
}
}else
{
try{
FileWriter Fr=new FileWriter(Caidan1.mulu);
BufferedWriter FF=new BufferedWriter(Fr);
FF.write(Caidan1.wenben.getText());
FF.newLine();
FF.close();

}catch(Exception p)
{
p.printStackTrace();
}
}
}
public void jian(){
Caidan1.wenben.addKeyListener(new KeyAdapter(){
public void keyTyped(KeyEvent e)
{
Caidan1.falg=true;
}
});
}
public void tuei(){
if(Caidan1.falg==true)//如果有改变
{
int k;
k=JOptionPane.showOptionDialog(Caidan1.kuang, "是否保存", "提示", JOptionPane.YES_NO_CANCEL_OPTION ,JOptionPane.QUESTION_MESSAGE,null, null,null);
//弹出对话诓
if(k==JOptionPane.OK_OPTION)//按”是“时候调用保存或另存为的方法 然后在把判断值该变
{ Cun();
Caidan1.falg=true;
System.exit(0);
}else if(k==JOptionPane.NO_OPTION)
{
System.exit(0);
}
Caidan1.falg=false;
}

}
}
这是菜单文件的功能。。做到头晕晕的。。第一次做这样的

搜索更多相关的解决方案: void  public  import  功能表  

----------------解决方案--------------------------------------------------------
没人吗??
----------------解决方案--------------------------------------------------------
自己解决了。。呵呵。。原来是 Caidan1.wenben.addKeyListener(new KeyAdapter(){
public void keyTyped(KeyEvent e)
{
Caidan1.falg=true;
}
});
}
应该放在事例化JTextAreas 那
----------------解决方案--------------------------------------------------------
  相关解决方案