Java编程技巧篇Word格式文档下载.docx
- 文档编号:18392104
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:9
- 大小:18.17KB
Java编程技巧篇Word格式文档下载.docx
《Java编程技巧篇Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Java编程技巧篇Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
“随心所卻,不滞于物”的境界。
目录:
第一篇:
Java实现渐变色
第二篇:
Java实现读取XML文件
第三篇:
Java扫描指定地径下的文件
第四篇:
Java实现用SwiXMl布局窗体
第五篇:
Java加载外部字体
第六篇:
Java实现窗体半透明
第七篇:
给JTextPanel加上底图
第八篇:
任意二张图片之间的渐变
实现渐变色
核心代码:
Graphics2Dg2=(Graphics2D)g;
GradientPaintgradientPaint=newGradientPaint(0,0,Color.blue,0,400,Color.white,false);
g2.setPaint(gradientPaint);
g2.fillRect(0,0,width,height);
效果:
实现窗体从上到下由Blue到White的渐变。
读取XML文件
1:
实现读取XML文件
try{
SAXBuilderbuilder=newSAXBuilder();
Documentdocument=builder.build(newFile("
contents.xml"
));
Elementroot=document.getRootElement();
Elementtitle=root.getChild("
title"
);
titlename=title.getText();
System.out.println("
BookTitle:
"
+titlename);
Elementcontents=root.getChild("
contents"
Listchapters=contents.getChildren("
chapter"
Iteratorit=chapters.iterator();
while(it.hasNext()){
Elementchapter=(Element)it.next();
Stringchaptertitle=chapter.getAttributeValue("
ChapterTitle:
+chaptertitle);
Listtopics=chapter.getChildren("
topic"
Iteratoriterator=topics.iterator();
while(iterator.hasNext()){
Elementtopic=(Element)iterator.next();
Stringtopicname=topic.getText();
TopicName:
+topicname);
}
}catch(Exceptionex){
解示:
在上面代码中我们须要导入一个第三方包用来实现XML的读取,它其中
实现了一些能够实现这个功能的基本类。
它就是JDOM.jar。
关于它的下载地址:
的第三方Jar中去下载。
Java扫描物理路径下文件
publicvoidfileScan(Filefile){
longlength=0;
File[]filen=file.listFiles();
System.out.println(filen.length);
for(inti=0;
i<
filen.length;
i++)
{
if(filen[i].isFile())
if(filen[i].getName().endsWith("
.mp3"
))
{
System.out.printf(filen[i].getName());
else
fileScan(filen[i]);
}
核心代码
frame=newJFrame();
Containercon=frame.getContentPane();
con=newSwingEngine(this).render("
xml/helloworld.xml"
);
con.setVisible(true);
我们须要导入一个第三方包SwiXml这个包中提供了一个能够将XML转变成Swing的类库。
其中最重要的是SwiXml中的一些语法知识。
privatestaticjava.io.Filefile=newjava.io.File(fontpath+"
毛泽东字体.TTF"
Fontft;
if(!
file.exists()){
filenotfound"
return;
java.io.FileInputStreamfi=newjava.io.FileInputStream(file);
java.io.BufferedInputStreamfb=newjava.io.BufferedInputStream(fi);
nf=Font.createFont(Font.TRUETYPE_FONT,fb);
nf=nf.deriveFont(Font.BOLD,10);
System.out.println(nf.getFontName());
System.out.println(nf.getSize());
catch(Exceptione){
System.out.println(e.getMessage());
JLabellabel=newJLabel("
这个是毛泽东字体的实例"
label.setFont(nf);
PrivateJFramef;
f.setUndecorated(true);
//不绘制窗体的边框和标题栏。
(Optional)
com.sun.awt.AWTUtilities.setWindowOpacity(f,0.5F);
//设置整个窗体的不透明度为0.5
要想实现半透明必须导入一个第三方包
Stringurl="
try{imageIcon=newImageIcon(newURL(url));
}
catch(MalformedURLExceptionex){}
textP=newJTextPane(){
Imageimage=imageIcon.getImage();
{setOpaque(false);
}
publicvoidpaintComponent(Graphicsg){g.drawImage(image,0,0,this);
super.paintComponent(g);
实现任意两张图片的渐变
publicclassSpliceAlpha{
intpixels[];
intAw,Ah,Bw,Bh;
intWmax,Hmax;
//thesizeofspliceimage
intarrayImageA[],arrayImageB[];
//arraysusedtosavethepixels
StringimagepathA;
//youcanchangetheimagepathhere
StringimagepathB;
Stringoutputimage="
splicealpha.jpg"
;
FileWriterfw;
//usedtowritelog
intindex=0;
ImageIconimageA,imageB;
publicSpliceAlpha(Stringimga,Stringimgb){
imagepathA=imga;
imagepathB=imgb;
imageA=newImageIcon(imagepathA);
imageB=newImageIcon(imagepathB);
Aw=imageA.getIconWidth();
Ah=imageA.getIconHeight();
Bw=imageB.getIconWidth();
Bh=imageB.getIconHeight();
arrayImageA=handlepixels(imageA.getImage(),0,0,Aw,Ah);
arrayImageB=handlepixels(imageB.getImage(),0,0,Bw,Bh);
if(arrayImageA!
=null&
&
arrayImageB!
=null){
doSplice(arrayImageA,arrayImageB);
Imageimage=createImage(pixels);
saveImage(image,outputimage);
if(fw!
try{
fw.close();
}catch(Exceptione){
e.printStackTrace();
publicvoiddoSplice(int[]imageA,int[]imageB){
pixels=imageB;
Hmax=Bh;
Wmax=Bw;
intrangeFrom=Bw/4;
intrangeTo=Bw*3/4;
intrange=Bw>
>
1;
for(inti=rangeFrom;
Bw;
i++){
floatdiv=(float)(rangeTo-i)/(float)range;
intalpha=(int)(0xff*div);
alpha=alpha<
<
24;
for(intj=0;
j<
Bh;
j++){
if(i>
=rangeTo){
pixels[j*Bw+i]=0;
continue;
pixels[j*Bw+i]=pixels[j*Bw+i]&
0xffffff;
pixels[j*Bw+i]=pixels[j*Bw+i]|(alpha);
publicvoidwritePixel2File(intcolor){
index++;
if(fw==null){
fw=newFileWriter("
pixel.txt"
if(index%100==0)
fw.write("
\n"
\t"
+color);
publicImagecreateImage(int[]colors){
JFramejf=newJFrame();
ImagemodImg=jf.createImage(
newMemoryImageSource(
Wmax,Hmax,colors,0,Wmax));
returnmodImg;
publicvoidsaveImage(Imageimage,Stringfilename){
java.awt.image.BufferedImagebi=newjava.awt.image.BufferedImage(Wmax,Hmax,java.awt.image.BufferedImage.TYPE_INT_BGR);
Graphics2Dg2=(Graphics2D)bi.getGraphics();
g2.drawImage(imageA.getImage(),0,0,null);
g2.drawImage(image,0,0,null);
javax.imageio.ImageIO.write(bi,"
JPEG"
newjava.io.File(filename));
publicint[]handlepixels(Imageimg,intx,inty,intw,inth){
int[]pixel=newint[w*h];
PixelGrabberpg=newPixelGrabber(img,x,y,w,h,pixel,0,w);
pg.grabPixels();
}catch(InterruptedExceptione){
System.err.println("
interruptedwaitingforpixels!
"
if((pg.getStatus()&
ImageObserver.ABORT)!
=0){
imagefetchabortedorerrored"
returnpixel;
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 编程 技巧