您的位置:首页 > 移动开发 > 微信开发

RandomAccessFile ,随机生成多个面板的小程序

2013-07-30 21:50 323 查看
RandomAccessFile是随机访问文件、随机读写文件。随机访问是相对于IO流来说,只能顺序输入或输出。
RandomAccessFile(File file, String mode)

创建从中读取和向其中写入(可选)的随机访问文件流,该文件由
File
参数指定。
RandomAccessFile(String name, String mode)

创建从中读取和向其中写入(可选)的随机访问文件流,该文件具有指定名称。

这里有一些方法
raf.getFilePointer();指针位置
raf.seek(0);绝对定位
raf.skipBytes(-2); 相对定位 如果正数定位到该数指向的位置 如果是负数,不跳过任何字节。
可以用RandomAccessFile将图片反色。具体过程如下:
File file = new File("d:"+File.separator+"splash.bmp");
RandomAccessFile raf = new RandomAccessFile(file,"rw");
raf.skipBytes(54);
while(true){
// 将图片全绿色。
//          raf.write(0);raf.write(255);raf.write(0);
// 123456
int b = raf.read();
raf.seek(raf.getFilePointer()-1);
raf.write(255-b);
if(raf.getFilePointer()>=file.length()-1){
break;
}
}
raf.close();
下面是一个随机生成多个面板的程序:

JPanel pnBasic = new JPanel();
// 定义指定布局方式
Random ran = new Random();
int n=ran.nextInt(20);
GridLayout lyGrid = new GridLayout(n, n);
// 设置基本面板布局为指定布局。
pnBasic.setLayout(lyGrid);
// 设置基本画布的背景色。
// pnBasic.setColor.GREEN);
//      Random ran = new Random();
JPanel[] pnArr = new JPanel[n*n];
for(int k=0;k<pnArr.length;k++){
pnArr[k] = new JPanel();
pnArr[k].setBackground(new Color(ran.nextInt(256), ran.nextInt(256), ran
.nextInt(256)));
pnBasic.add(pnArr[k]);
}
// 绑定画板和画布
setContentPane(pnBasic);
// 设置窗体标题
setTitle("多色版");
// 设置窗体的大小
// setSize(400,300);
// 设置窗体的坐标
// setLocation(200, 200);
setBounds(200, 200, 400, 300);
// 设置退出方式
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置窗体可见
setVisible(true);
效果如下:


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息