if(DataFlavor.javaFileListFlavor.equals(flavors[i])){
returntrue;
}
}
returnfalse;
}
privatevoidaddFilesToFilePathList(Listfiles){
for(Iterator
>iter=files.iterator();iter.hasNext();){
Filefile=(File)iter.next();
if(file.exists()){
ea.currentFile=file;
Stringstr=null;
try{
FileReaderfr=newFileReader(file);
BufferedReaderbfr=newBufferedReader(fr);
if(ea.getText()!
=null)
ea.setText("");
while((str=bfr.readLine())!
=null){
ea.append(str+"\n");
}
}catch(Exceptionb){
}
}
}
}
}
代码分析------更改字体对话框
publicclassFont_Color_FrameextendsJFrameimplementsActionListener,
ItemListener{
//定义三个面板对象分别放窗体的北部,中间和南部
privateJPanelpUp,pDown,pCenter;
//定义字体设置,颜色设置两个面板对象,通过卡片布局的方式放在中间面板上
privateJPanelfPanel,cPanel;
//在字体设置面板上添加字体类型选择面板、字体样式选择面板和字体大小选择面板
privateJPanelfont_font,font_style,font_size;
privateJPanelpDown_test,pDown_fontTest,pDown_button;
privateJPanelcolor_reg,color_exact,color_test1,color_test2;
//获取系统字体
privateStringfont[]=GraphicsEnvironment.getLocalGraphicsEnvironment()
.getAvailableFontFamilyNames();;
//定义用于设置字体样式数组
privateStringstyle[]=newString[]{"Plain","Italic","Bold",
"Italic&Bold"};
//定义用于设置字体大小数组
privateStringsize[]=newString[]{"8","9","10","11","12","14",
"16","18","20","22","24","26","28","36","48","72"};
//定义常用颜色数组
privateColorcolor[]=newColor[]{Color.red,Color.blue,Color.cyan,
Color.darkGray,Color.green,Color.lightGray,Color.magenta,
Color.orange,Color.pink,Color.yellow,Color.black,Color.white,
Color.gray};
//定义四个Button对象,分别为字体、颜色、确定、取消
privateJButtonjFont,jColor,jConfirm,jCancle;
//定义代表常用颜色的13个按钮数组
privateJButtonregColor[]=newJButton[13];
//定义用于手动设置精确的字体颜色的三个文本框
privateJTextFieldfont_font_jtf,font_style_jtf,font_size_jtf;
//定义显示字体格式化后的效果的标签
privateJLabelfontTestLabel;
privateJTextFieldcolorSet[]=newJTextField[]{newJTextField(3),
newJTextField(3),newJTextField(3)};
privateJButtonjbApply=null;
privateJCheckBoxjcb=null;
//定义一个CardLayout布局对象,用于字体设置面板和颜色设置面板之间的切换
//
privateMainFramemf=null;
privateEditAreaea=null;
privateCardLayoutcard=null;
//构造函数,完成一些初始化工作
publicFont_Color_Frame(EditAreaea,MainFramemf){
this.ea=ea;
this.mf=mf;
jFont=newJButton("字体");
jFont.addActionListener(this);
jColor=newJButton("颜色");
jColor.addActionListener(this);
jConfirm=newJButton("确定");
jConfirm.addActionListener(this);
jCancle=newJButton("取消");
jCancle.addActionListener(this);
pUp=newJPanel();
pUp.add(jFont);
pUp.add(jColor);
pDown_fontTest=newJPanel();
pDown_fontTest.setLayout(newBorderLayout());
fontTestLabel=newJLabel("AaBbCc123",JLabel.CENTER);
pDown_fontTest.add(fontTestLabel,BorderLayout.CENTER);
pDown_fontTest.add(newJLabel("Preview:
"),BorderLayout.NORTH);
pDown_button=newJPanel();
pDown_button.add(jConfirm);
pDown_button.add(jCancle);
pDown_test=newJPanel();
pDown_test.setLayout(newBorderLayout());
pDown_test.add(pDown_fontTest,BorderLayout.NORTH);
pDown=newJPanel();
pDown.setLayout(newBorderLayout());
pDown.add(pDown_fontTest,BorderLayout.NORTH);
pDown.add(pDown_button,BorderLayout.CENTER);
font_font=newJPanel();
font_font.setLayout(newBorderLayout());
finalJListjFont=newJList(font);
jFont.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jFont.addMouseListener(newMouseAdapter(){
publicvoidmouseClicked(MouseEvente){
if(e.getClickCount()==1){
intindex=jFont.locationToIndex(e.getPoint());
Stringfamily=(String)jFont.getModel().getElementAt(
index);
font_font_jtf.setText(family);
fontTestLabel.setFont(newFont(family,fontTestLabel
.getFont().getStyle(),fontTestLabel.getFont()
.getSize()));
}
}
});
font_font_jtf=newJTextField(10);
font_font.add(newJLabel("Font:
"),BorderLayout.NORTH);
font_font.add(font_font_jtf,BorderLayout.SOUTH);
font_font.add(newJScrollPane(jFont),BorderLayout.CENTER);
font_style=newJPanel();
font_style.setLayout(newBorderLayout());
font_style_jtf=newJTextField(10);
finalJListjStyle=newJList(style);
jStyle.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jStyle.addMouseListener(newMouseAdapter(){
publicvoidmouseClicked(MouseEvente){
if(e.getClickCount()==1){
intindex=jStyle.locationToIndex(e.getPoint());
Stringstyle=(String)jStyle.getModel().getElementAt(
index);
font_style_jtf.setText(style);
if(font_style_jtf.getText().equals("Plain")){
fontTestLabel.setFont(newFont(fontTestLabel.getFont()
.getFamily(),Font.PLAIN,fontTestLabel
.getFont().getSize()));
}elseif(font_style_jtf.getText().equals("Italic")){
fontTestLabel.setFont(newFont(fontTestLabel.getFont()
.getFamily(),Font.ITALIC,fontTestLabel
.getFont().getSize()));
}elseif(font_style_jtf.getText().equals("Italic&Bold")){
fontTestLabel.setFont(newFont(fontTestLabel.getFont()
.getFamily(),Font.BOLD|Font.ITALIC,
fontTestLabel.getFont().getSize()));
}elseif(font_style_jtf.getText().equals("Bold")){
fontTestLabel.setFont(newFont(fontTestLabel.getFont()
.getFamily(),Font.BOLD,fontTestLabel
.getFont().getSize()));
}
}
}
});
font_style.add(newJLabel("Style:
"),BorderLayout.NORTH);
font_style.add(font_style_jtf,BorderLayout.SOUTH);
font_style.add(newJScrollPane(jStyle),BorderLayout.CENTER);
font_size=newJPanel();
font_size.setLayout(newBorderLayout());
font_size_jtf=newJTextField(10);
finalJListjSize=newJList(size);
jSize.setSelectionMode(ListSelectionModel.SINGLE_SE