Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » Java程序分享区
» 工具
打印话题 寄给朋友 订阅主题 |
话题被移动 | ||||
该话题已被移动 - tzutolin , 2005-12-13 14:06 如果您尚不清楚该话题被移动的原因,请参考论坛规则以及本版公告或者联系本版版主。 |
作者 | 我的第一个java小程序 |
xd2008
发贴: 18 |
于 2005-03-13 17:30
import java.awt.*; import javax.swing.*; import java.lang.*; import java.io.*; public class qgj implements WindowListener,MouseListener,ActionListener { Frame f; Panel p; Panel p1; Panel p2; Panel p3; Panel p4; Button b1; Button b2; Button b3; Label l1; Label l2; Label l3; Label l4; TextField t1; TextField t2; TextField t3; TextArea ta; JFileChooser jfc1=new JFileChooser(); JFileChooser jfc2=new JFileChooser(); int oldsize=0; int newsize=0; int filenum=0; byte[] c=new byte[1024]; int i,j,k; public qgj() { f=new Frame("切割机1.0 作者:xd 2005.010.1"); p=new Panel(); p1=new Panel(); p2=new Panel(); p3=new Panel(); p4=new Panel(); b1=new Button("浏览"); b2=new Button("浏览"); b3=new Button("切割"); l1=new Label("被切割文件:"); l2=new Label("存储文件夹:"); l3=new Label("新文件大小:"); l4=new Label("KB"); t1=new TextField(25); t2=new TextField(25); t3=new TextField(22); ta=new TextArea(10,50); p1.add(l1); p1.add(t1); p1.add(b1); p2.add(l2); p2.add(t2); p2.add(b2); p3.add(l3); p3.add(t3); p3.add(l4); p3.add(b3); p4.add(ta); p1.setBackground(Color.orange); p2.setBackground(Color.yellow); p3.setBackground(Color.green); p4.setBackground(Color.blue); b1.setBackground(Color.red); b2.setBackground(Color.red); b3.setBackground(Color.red); p.setLayout(new GridLayout(3,1)); p.add(p1); p.add(p2); p.add(p3); f.add(p,BorderLayout.NORTH); f.add(p4,BorderLayout.SOUTH); ta.setText("使用-浏览-输入要被切割的原文件\n"); ta.append("本程序对原文件没有任何的操作,请安心使用.\n"); ta.append("使用-浏览-输入用于存储的文件夹\n"); ta.append("请保证没有与原文件同名的文件.\n"); ta.append("在新文件大小后的文本框中输入新文件的大小\n"); ta.append("默认是切割成3个文件.\n"); ta.append("最后用-切割-开始切割.\n"); ta.append("合并时执行.bat文件即可!!\n\n"); ta.append("谢谢使用.有问题与xd20080@163.com联系!"); t1.addMouseListener(this); t2.addMouseListener(this); t3.addMouseListener(this); b1.addMouseListener(this); b2.addMouseListener(this); b3.addMouseListener(this); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); f.addWindowListener(this); f.pack(); f.show(); f.setResizable(false); t1.setEditable(false); t2.setEditable(false); t3.setEditable(false); b2.setEnabled(false); b3.setEnabled(false); ta.setEditable(false); } void getf() { jfc1.setFileSelectionMode(JFileChooser.FILES_ONLY); jfc1.setDialogTitle("选择要切割的文件"); jfc1.setMultiSelectionEnabled(false); int re1=jfc1.showOpenDialog(f); if (re1!=JFileChooser.APPROVE_OPTION) return; File sf=jfc1.getSelectedFile(); t1.setText(sf.getAbsolutePath()); String sep=sf.separator; String temp=jfc1.getCurrentDirectory().getAbsolutePath().concat(sep); t2.setText(temp); oldsize=(int)(sf.length()); newsize=oldsize/2048; filenum=oldsize/newsize+1; t3.setText(String.valueOf(newsize)); b2.setEnabled(true); b3.setEnabled(true); t3.setEditable(true); ta.setText(t2.getText()); } void getd() { jfc2.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); jfc2.setDialogTitle("选择要用于保存的文件夹"); jfc2.setMultiSelectionEnabled(false); int re2=jfc2.showSaveDialog(f); if (re2!=JFileChooser.APPROVE_OPTION) return; File sf2=jfc2.getSelectedFile(); t2.setText(sf2.getAbsolutePath().concat(sf2.separator)); ta.setText(t2.getText()); } void start() { try{ ta.setText("正在处理中....请等待!"); String oldname=t1.getText(); String newdir=t2.getText(); newsize=Integer.parseInt((t3.getText())); filenum=oldsize/newsize/1024+1; if (newsize<1||newsize>oldsize/1024) {ta.setText("文件大小错误!");return;} String name=jfc1.getSelectedFile().getName().replace('.','_').concat("."); f.setEnabled(false); FileInputStream fis=new FileInputStream(oldname); FileWriter fw=new FileWriter(newdir.concat(name).concat("bat")); fw.write("copy /b "); for (i=1;i<=filenum;i++){ String newname=newdir.concat(name).concat(String.valueOf(i)); FileOutputStream fos=new FileOutputStream(newname); fw.write(name.concat(String.valueOf(i))); if (i!=filenum) { fw.write("+"); for (j=0;j<newsize;j++) {fis.read(c); fos.write(c);} } else { fw.write(" ".concat(jfc1.getSelectedFile().getName())); while((k=fis.read())!=-1) fos.write(k); } fos.close(); } fw.close(); fis.close(); f.setEnabled(true); ta.setText("切割完成!"); } catch(Exception e){ta.setText(e.toString());f.setEnabled(true);} } public void actionPerformed(ActionEvent e) { Button src=(Button)e.getSource(); if (src==b1) getf(); if (src==b2) getd(); if (src==b3) start(); } public void windowClosing(WindowEvent e){System.exit(0);} public void windowActivated(WindowEvent e){f.repaint();} public void windowDeactivated(WindowEvent e){} public void windowOpened(WindowEvent e){} public void windowClosed(WindowEvent e){} public void windowIconified(WindowEvent e){} public void windowDeiconified(WindowEvent e){f.repaint();} public void mousePressed(MouseEvent e){} public void mouseReleased(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseClicked(MouseEvent e) { if (e.getSource()==b1) getf(); else if (e.getSource()==b2) getd(); else if (e.getSource()==b3) start(); } public static void main(String args[]) {qgj q=new qgj();} } qgj.jar (4.27k)
xd2008 edited on 2005-03-17 15:30
联想游戏(欢迎跟贴,哈) |
话题树型展开 |
人气 | 标题 | 作者 | 字数 | 发贴时间 |
14556 | 我的第一个java小程序 | xd2008 | 5157 | 2005-03-13 17:30 |
12707 | Re:我的第一个java小程序 | xd2008 | 7 | 2005-03-13 17:34 |
12605 | Re:我的第一个java小程序 | 雪中行 | 164 | 2005-03-15 10:40 |
12515 | Re:我的第一个java小程序 | tzutolin | 221 | 2005-03-15 11:39 |
12655 | Re:我的第一个java小程序 | xd2008 | 9 | 2005-03-17 15:22 |
12680 | Re:我的第一个java小程序 | xd2008 | 26 | 2005-03-17 15:27 |
12624 | Re:我的第一个java小程序 | xd2008 | 33 | 2005-03-17 15:34 |
12702 | Re:我的第一个java小程序 | achosun | 20 | 2005-04-01 13:10 |
12550 | Re:我的第一个java小程序 | Waynewen | 310 | 2005-04-22 13:33 |
12540 | Re:我的第一个java小程序 | xd2008 | 144 | 2005-05-07 13:58 |
12865 | Re:我的第一个java小程序 | mesocool | 201 | 2005-05-10 11:05 |
12530 | 我的JAVA切割机2.0 | xd2008 | 8 | 2005-05-10 20:19 |
13113 | 改进的代码 | xd2008 | 0 | 2005-05-10 20:23 |
已读帖子 新的帖子 被删除的帖子 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |