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"));我记得昨天就回答了你好多问题。。^_^。是不是。。
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"));我记得昨天就回答了你好多问题。。^_^。是不是。。
说得更加详细点:
JOPtion是继承的JComponent
所以你必须修改SetFont(Font font)就可以了具体怎么做我想你应该明白了吧????
非常感谢你的回答!但我还有些疑惑:1。我看了你的代码,是向jFileChooser中添加过滤器,而现在我需要将原来的过滤器全部删除了以后再添加,但我法完成删除所有过滤器的操作,望你能给予建议。2。我这样写了,但字体没有改变,不知道出了什么问题
JOptionPane MessageB=new JOptionPane();
Font myFont=new Font(null,1,36);
MessageB.setFont(yxFont); MessageB.showMessageDialog(null,"字体\n","变化字体",MessageB.WARNING_MESSAGE); 执行是没有问题的,就是上面显示的字还是只有一丁点大。还有就是我希望在改变显示主要信息的字体的同时,也要改变按钮上的字体大小。