在线寻求答案,欢迎广大swing,gui的java高手们给我些指导。msn:seanmans◎hotmail.com
和大家一起进步

解决方案 »

  1.   

    欢迎大家把我加入,本人一直作server端的开发,现在由于项目需要,需要对GUI有一定的了解,谢了各位,给我谢帮助
      

  2.   

    加一个boolean做标志。处理关闭窗口事件时检查该标志,如果修改了就弹出一个JOptionPane确认是否保存就行了。
      

  3.   

    在frame关闭事件里判断初始化的界面数据与关闭前的数据是否相同
    接下来不用说了吧~~~呵呵
      

  4.   

    先定义一个标志,然后在TextArea实现的TextListener的方法中设置这个标志:
    public void textValuedChanged(TextEvent e){
      changed = true;
    }
    在关闭窗口的地方检查这个标志:
    addWindowListener(new WindowAdapter()
     {
        public void windowClosing(WindowEvent e)
        {
           if(changed)
              弹出窗口
           else
              System.exit(0);
        }
     }
      

  5.   

    我是这样处理的,在windowAdaptor中加入了这个判断,可是当我点击窗口中X关闭系统时,可以弹选择框,不过当我选择no的时候,窗口仍然会关闭,但是程序还没有退出,因为选no的时候没有执行我程序中的Systen。exit谢以上老兄给我的指点,我是在Adaptor中的windowClosing中处理的是不是不对
      

  6.   

    那要选择cancel才能保证窗口不关闭。选择no只是不保存!optionType用这个YES_NO_CANCEL_OPTION
      

  7.   

    GUI开发的高手都到哪里去了,是不是java不适合搞GUI的开发呀
      

  8.   

    class BasicApp extends JFrame{
        public BasicApp()
           {       
               JFrame f=new JFrame("TestFrame");
               f.setSize(300,200);
               f.setVisible(true);
               f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
               f.addWindowListener(new WindowAdapter()
               {
                  public void windowClosing(WindowEvent e)
                  {             
                      if(isExit())
                      System.exit(0);         
                  } 
               });
               
           }    
        
        public boolean isExit()
               {
                   boolean bbb=false;
                   int t=JOptionPane.showConfirmDialog(this,msgstring,titlestring,JOptionPane.OK_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE);
                   System.out.println("t="+t);
                   if(t==0) {   
                       bbb=true;
                       return bbb;           
                   }         
                   return bbb;
               }           
        final String msgstring="Do you want to quit?";
        final String titlestring="Exit";
           
         public static void main(String[] args){
             new BasicApp();
         }
    }
      

  9.   

    import java.awt.*; import javax.swing.*; import java.awt.event.*;
     
     public  class BasicApp extends JFrame{
        public BasicApp()
           {       
               JFrame f=new JFrame("TestFrame");
               f.setSize(300,200);
               f.setVisible(true);
               f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
               f.addWindowListener(new WindowAdapter()
               {
                  public void windowClosing(WindowEvent e)
                  {             
                      if(isExit())
                      System.exit(0);         
                  } 
               });
               
           }    
        
        public boolean isExit()
               {
                   boolean bbb=false;
                   int t=JOptionPane.showConfirmDialog(this,msgstring,titlestring,JOptionPane.OK_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE);
                   System.out.println("t="+t);
                   if(t==0) {   
                       bbb=true;
                       return bbb;           
                   }         
                   return bbb;
               }           
        final String msgstring="Do you want to quit?";
        final String titlestring="Exit";
           
         public static void main(String[] args){
             new BasicApp();
         }

     
    一定可以了。
      

  10.   

    我忘了加import那几个语句了,
     hl_longman(大水点)  帮我加上了,谢谢啊^_^