1。。可以做到。。你必须继承类,然后自己修改就可以。。
2。代码如下:
package LWClass;import java.util.*;
import javax.swing.*;
import java.io.*;public class MyFileFilter extends javax.swing.filechooser.FileFilter  {  private static String TYPE_UNKNOWN = "Type Unknown";
  private static String HIDDEN_FILE = "Hidden File";  private Hashtable filters = null;
  private String description = null;
  private String fullDescription = null;
  private boolean useExtensionsInDescription = true;  public   MyFileFilter() {
    this.filters = new Hashtable();
  }
  public MyFileFilter(String extension) {
    this(extension,null);
  }
  public MyFileFilter(String extension, String description) {
    this();
    if(extension!=null) addExtension(extension);
    if(description!=null) setDescription(description);
  }
  public MyFileFilter(String[] filters) {
    this(filters, null);
  }
  public MyFileFilter(String[] filters, String description) {
    this();
    for (int i = 0; i < filters.length; i++) {
      // add filters one by one
      addExtension(filters[i]);
    }
    if(description!=null) setDescription(description);
  }
  public boolean accept(File f) {
    if(f != null) {
      String extension = getExtension(f);
      if(extension != null && filters.get(getExtension(f)) != null) {
        return true;
      };
    }
    return false;
  }
  public void addExtension(String extension) {
    if(filters == null) {
      filters = new Hashtable(5);
    }
    filters.put(extension.toLowerCase(), this);
    fullDescription = null;
  }
  public String getDescription() {
    if(fullDescription == null) {
      if(description == null || isExtensionListInDescription()) {
        fullDescription = description==null ? "(" : description + " (";
        // build the description from the extension list
        Enumeration extensions = filters.keys();
        if(extensions != null) {
          fullDescription += "." + (String) extensions.nextElement();
          while (extensions.hasMoreElements()) {
            fullDescription += ", " + (String) extensions.nextElement();
          }
        }
        fullDescription += ")";
      } else {
        fullDescription = description;
      }
    }
    return fullDescription;
  }
  public void setDescription(String description) {
    this.description = description;
    fullDescription = null;
  }
  public void setExtensionListInDescription(boolean b) {
    useExtensionsInDescription = b;
    fullDescription = null;
  }
  public boolean isExtensionListInDescription() {
    return useExtensionsInDescription;
  }
  public String getExtension(File f) {
        if(f != null) {
            String filename = f.getName();
            int i = filename.lastIndexOf('.');
            if(i>0 && i<filename.length()-1) {
                return filename.substring(i+1).toLowerCase();
            };
        }
        return null;
    }}
如下用:
chooser.addChoosableFileFilter(new MyFileFilter("java", "java Files"));我记得昨天就回答了你好多问题。。^_^。是不是。。

解决方案 »

  1. 1。
    说得更加详细点:
    JOPtion是继承的JComponent
    所以你必须修改SetFont(Font font)就可以了具体怎么做我想你应该明白了吧????
      

  2. yuebenxian(我是谁) 
    非常感谢你的回答!但我还有些疑惑:1。我看了你的代码,是向jFileChooser中添加过滤器,而现在我需要将原来的过滤器全部删除了以后再添加,但我法完成删除所有过滤器的操作,望你能给予建议。2。我这样写了,但字体没有改变,不知道出了什么问题
          JOptionPane MessageB=new JOptionPane();
          Font myFont=new Font(null,1,36);
          MessageB.setFont(yxFont);      MessageB.showMessageDialog(null,"字体\n","变化字体",MessageB.WARNING_MESSAGE);     执行是没有问题的,就是上面显示的字还是只有一丁点大。还有就是我希望在改变显示主要信息的字体的同时,也要改变按钮上的字体大小。
      

类似问题 »