BBS水木清华站∶精华区

发信人: greenleaf (西瓜太郎), 信区: Java        
 
 
 
1.要显示一个save的对话框,某本书上给了一个例程如下 
 
        FileDialog fdlg = new FileDialog(this,"Save File",FileDialog.SAVE); 
        fdlg.setFilenameFilter("*.txt"); 
        fdlg.setDirectory("."); 
        fdlg.setFile("1.txt"); 
        fdlg.show(); 
        strFileName = fdlg.getFile(); 
        if(strFileName != null) 
        { 
                // do something 
        } 
 
  然而编译时第二句却通不过,请问第二句该怎么写 ? 
 
2. 如何让一个Frame的"最大化"按钮失效? 
 
3. 在一个Frame中画了一些TextField,希望只能输入数字和小数点“.”,因此 
   写了如下方法: 
 
        public boolean keyDown(Event evt,int nKey) 
        { 
                if(evt.target instanceof TextField) 
                { 
                        TextField tf = (TextField)evt.target; 
                        try 
                        { 
                                if(!((nKey>=48)||(nKey<=57)||(nKey==46))) 
                                        throw new NumberFormatException(); 
                        } 
                        catch(NumberFormatException e) 
                        { 
                                tf.requestFocus(); 
                                return true; 
                        } 
                } 
                return super.keyDown(evt,nKey); 
        } 
   但是执行结果却仍然是textfield中能输入字母,请问该怎么办? 
 
       快考试了,大家时间都很紧张,感谢解答的同学或老师们,谢谢!!! 
 
 
 
 
发信人: KHP (人之初), 信区: Java        
 
【 在 greenleaf (西瓜太郎) 的大作中提到: 】 
 1.要显示一个save的对话框,某本书上给了一个例程如下 
         FileDialog fdlg = new FileDialog(this,"Save File",FileDialog.SAVE); 
         fdlg.setFilenameFilter("*.txt"); 
这个方法的参数是FilenameFilter对象,而不是字符串。 
需要你自己继承FilenameFilter接口写一个类,不难。 
 
         fdlg.setDirectory("."); 
         fdlg.setFile("1.txt"); 
         fdlg.show(); 
         strFileName = fdlg.getFile(); 
         if(strFileName != null) 
         { 
                 // do something 
         } 
   然而编译时第二句却通不过,请问第二句该怎么写 ? 
 
 2. 如何让一个Frame的"最大化"按钮失效? 
setResizable(false); 
 
 
 
 
发信人: greenleaf (西瓜太郎), 信区: Java        
 
【 在 KHP (人之初) 的大作中提到: 】 
 这个方法的参数是FilenameFilter对象,而不是字符串。 
 需要你自己继承FilenameFilter接口写一个类,不难。 
 
  我查了几本书,但书上说的都不清楚,我看不太懂,还得麻烦您指教。谢谢!!! 
 
 setResizable(false); 
这句话只能使窗体不能通过鼠标的拖动改变大小,但是最大化按钮仍有效. 
 
 
 
发信人: SuZ (飞虫), 信区: Java        
 
【 在 greenleaf (西瓜太郎) 的大作中提到: 】 
 1.要显示一个save的对话框,某本书上给了一个例程如下 
         FileDialog fdlg = new FileDialog(this,"Save File",FileDialog.SAVE); 
         fdlg.setFilenameFilter("*.txt"); 
         fdlg.setDirectory("."); 
         fdlg.setFile("1.txt"); 
         fdlg.show(); 
         strFileName = fdlg.getFile(); 
         if(strFileName != null) 
         { 
                 // do something 
         } 
   然而编译时第二句却通不过,请问第二句该怎么写 ? 
 2. 如何让一个Frame的"最大化"按钮失效? 
 3. 在一个Frame中画了一些TextField,希望只能输入数字和小数点“.”,因此 
    写了如下方法: 
         public boolean keyDown(Event evt,int nKey) 
         { 
                 if(evt.target instanceof TextField) 
                 { 
                         TextField tf = (TextField)evt.target; 
                         try 
                         { 
                                 if(!((nKey>=48)||(nKey<=57)||(nKey==46))) 
                                         throw new NumberFormatException(); 
                         } 
                         catch(NumberFormatException e) 
                         { 
                                 tf.requestFocus(); 
                                 return true; 
                         } 
                 } 
                 return super.keyDown(evt,nKey); 
         } 
    但是执行结果却仍然是textfield中能输入字母,请问该怎么办? 
可以在button的change 检测当前的值是不是数字,或数字加 "." 
如果不是就恢复成上一次的数据,如果是就保存在一个变量中。(用于恢复) 
 
        快考试了,大家时间都很紧张,感谢解答的同学或老师们,谢谢!!! 
 
 
 
 
发信人: KHP (人之初), 信区: Java        
 
【 在 greenleaf (西瓜太郎) 的大作中提到: 】 
   我查了几本书,但书上说的都不清楚,我看不太懂,还得麻烦您指教。谢谢!!! 
比如: 
public 
class TypeFilter implements FilenameFilter { 
 
    public boolean accept(File dir, String name) { 
                if (name.endsWith(".txt")) return true; 
                return false; 
    } 
 

 
 这句话只能使窗体不能通过鼠标的拖动改变大小,但是最大化按钮仍有效. 
恐怕没有办法在Java里做到这一点,这个特性可能不是平台无关的, 
因此Java里没有提供相应的方法 
 
 
 
发信人: greenleaf (西瓜太郎), 信区: Java        
 
【 在 KHP (人之初) 的大作中提到: 】 
 比如: 
 public 
 class TypeFilter implements FilenameFilter { 
     public boolean accept(File dir, String name) { 
                 if (name.endsWith(".txt")) return true; 
                 return false; 
     } 
 } 
 恐怕没有办法在Java里做到这一点,这个特性可能不是平台无关的, 
 因此Java里没有提供相应的方法 
 
那能不能截获最大化的消息呢?这样就可以使窗体的尺寸不变了。 
 
 
 

BBS水木清华站∶精华区