雪花飘落代码java 雪花飘落代码怎么关闭

求计算机图形学中雪花飘落的C++Builder程序,采纳后追加分额!!!!

import java.awt.*;

成都创新互联企业建站,十多年网站建设经验,专注于网站建设技术,精于网页设计,有多年建站和网站代运营经验,设计师为客户打造网络企业风格,提供周到的建站售前咨询和贴心的售后服务。对于成都网站制作、成都网站设计中不同领域进行深入了解和探索,创新互联在网站建设中充分了解客户行业的需求,以灵动的思维在网页中充分展现,通过对客户行业精准市场调研,为客户提供的解决方案。

import java.awt.event.*;

import java.io.*;

import javax.swing.*;

import javax.swing.event.*;

import javax.swing.filechooser.FileFilter;

import static java.awt.event.InputEvent.*;

import java.awt.datatransfer.*;

import java.util.Enumeration;

import java.util.Hashtable;

/*import javax.swing.*;

import javax.swing.filechooser.FileFilter;

import java.awt.event.*;

import java.awt.*;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;*/

class jishiben

{

public static void main(String args[])

{

TextEdit TE=new TextEdit("记事本");

}

}

class TextEdit extends Frame implements ActionListener

{

MenuBar m;

Menu m1,m2;

MenuItem xinjian,dakai,baocun,tuichu,jianqie,fuzhi,zhantie;

TextArea text;

String filename;

FileDialog openFD,saveFD;

BufferedReader in;

FileReader read;

BufferedWriter out;

FileWriter writer;

Clipboard cb;

TextEdit(String s)

{

super(s);

m=new MenuBar();

m1=new Menu("文件");

xinjian=new MenuItem("新建");

dakai=new MenuItem("打开");

baocun=new MenuItem("保存");

tuichu=new MenuItem("退出");

m2=new Menu("编辑");

jianqie=new MenuItem("剪切");

fuzhi=new MenuItem("复制");

zhantie=new MenuItem("粘贴");

text=new TextArea();

openFD=new FileDialog(this,"打开",FileDialog.LOAD);

saveFD=new FileDialog(this,"保存",FileDialog.SAVE);

filename="NoName";

m1.add(xinjian);

m1.addSeparator();

m1.add(dakai);

m1.addSeparator();

m1.add(baocun);

m1.addSeparator();

m1.add(tuichu);

m2.add(jianqie);

m2.addSeparator();

m2.add(fuzhi);

m2.addSeparator();

m2.add(zhantie);

m.add(m1);

m.add(m2);

//关键部分,没有为cb申请内存,下面对cb操作会出错

cb = new Clipboard("nothing");

//

setMenuBar(m);

setSize(300,400);setVisible(true);

add(text,"Center");

xinjian.addActionListener(this);

dakai.addActionListener(this);

baocun.addActionListener(this);

tuichu.addActionListener(this);

jianqie.addActionListener(this);

fuzhi.addActionListener(this);

zhantie.addActionListener(this);

addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

});

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==xinjian)

{

text.setText("");

}

if(e.getSource()==dakai)

{

openFD.show();

String s;

filename=openFD.getDirectory()+openFD.getFile();

if(filename!=null)

{

try

{

File file=new File(filename);

read=new FileReader(file);

in=new BufferedReader(read);

while((s=in.readLine())!=null)

text.append(s+'\n');

in.close();

read.close();

}

catch(IOException e2){}

}

}

if(e.getSource()==baocun)

{

saveFD.show();

filename=saveFD.getDirectory()+saveFD.getFile();

if(filename!=null)

{

try

{

File file=new File(filename);

writer=new FileWriter(file);

out=new BufferedWriter(writer);

out.write(text.getText(),0,(text.getText()).length());

out.close();

writer.close();

}

catch(IOException e2){}

}

}

if(e.getSource()==tuichu)

{

System.exit(0);

}

if(e.getSource()==jianqie)

{

//类text中没有cut方法,不能使用text.cut

String s=text.getSelectedText();

StringSelection select=new StringSelection(s);

cb.setContents(select,null);

text.replaceRange("",text.getSelectionStart(),text.getSelectionEnd());

}

if(e.getSource()==fuzhi)

{

//同上,没有copy这个方法

String s=text.getSelectedText();

StringSelection select=new StringSelection(s);

cb.setContents(select,null);

}

if(e.getSource()==zhantie)

{

//同上,没有paste方法

String s="";

Transferable t = cb.getContents(null);

try

{

if (t != null

t.isDataFlavorSupported(DataFlavor.stringFlavor))

{

// 因为原系的剪贴板里有多种信息, 如文字, 图片, 文件等

// 先判断开始取得的可传输的数据是不是文字, 如果是, 取得这些文字

s = (String)t.getTransferData(DataFlavor.stringFlavor);

// 同样, 因为Transferable中的DataFlavor是多种类型的,

// 所以传入DataFlavor这个参数, 指定要取得哪种类型的Data.

//System.out.println(s);

}

}

catch (UnsupportedFlavorException ex)

{

ex.printStackTrace();

}

catch (IOException ex)

{

ex.printStackTrace();

}

text.insert(s,text.getCaretPosition());

}

}

}

JAVA怎么实现一屏幕的雪花飘落,方向随机,有大有小

第一种。。你的雪花是图片,那么你自己多做几张旋转的图片,在每次飘落的时候,1秒后换取另外一张图片。或者做成gif图片。

第二种:你的是自己画的雪花,那么你每秒要重新绘制你的雪花。

闪屏 是指面板刷新带来的负面的效果。。

想实现多个雪花,为什么只有一个雪花,怎么实现多线程,另外怎样实现无窗体的动画, 就跟q宠物那样的

没用Java写过,现这种效果最好是用DriectX或者OpenGL里实现,要不,用Java这类托管语言来做的话,所有的东西都是面向对象的,堆和托管堆交互很频繁,还有开N多线程,线程的数量是有限制的。如果你需要的效果是直接在屏幕上即没有容器的那种,可以直接操作显存试试,这个要用底层语言比如C嵌汇编操作显存的文件映射区域等等,其中雪花飘落的过程用一种计算表达式来实现,比如其中有一些速度因子,大小因子,轨迹因子,等等(看自己喜好)。记得以前写过一个DriectX里的粒子运动效果,和雪花飘落的功能很相似,只是它不能直接在桌面上显示,需要容器。


分享标题:雪花飘落代码java 雪花飘落代码怎么关闭
URL链接:http://pwwzsj.com/article/dddidep.html