您的位置:首页 > 编程语言 > Go语言

GO并发

2016-01-18 14:24 453 查看
程序不是很完善,估计有n中死法
设计思想 打开一个zip文件时,屏幕底部显示zip里面的所有文件,当选择一个文件时,返回对其描叙

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.filechooser.FileNameExtensionFilter;

public class ZipTestG {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ZipFrame frame=new ZipFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

//设置观感
try
{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
SwingUtilities.updateComponentTreeUI(frame);
}
catch(Exception e)
{e.printStackTrace();}

}

}

class ZipFrame extends JFrame
{
public ZipFrame()
{
setTitle("Zip Test by guan");
setSize(300,300);
JMenuBar bar =new JMenuBar();
JMenu file=new JMenu("File");
JMenuItem open=new JMenuItem("Open");
JMenuItem close=new JMenuItem("Close");
open.addActionListener(new OpenListener());
close.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
System.exit(0);
}
});

bar.add(file);
file.add(open);
file.add(close);
setJMenuBar(bar);

textArea=new JTextArea(8,10);
combo=new JComboBox();
combo.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
String textname=(String) combo.getSelectedItem();
LoadText(textname);
}
});
add(new JScrollPane(textArea),BorderLayout.CENTER);
add(combo,BorderLayout.SOUTH);

}

class OpenListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
JFileChooser chooser=new JFileChooser();
chooser.setCurrentDirectory(new File("."));
chooser.setMultiSelectionEnabled(false);
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
FileNameExtensionFilter filter=new FileNameExtensionFilter("zip file","zip","rar");
chooser.setFileFilter(filter);

int result=chooser.showOpenDialog(ZipFrame.this);
if(result==JFileChooser.APPROVE_OPTION)
{
String name=(String) chooser.getSelectedFile().getPath();
ScanZip(name);
}
}

}

//用来设置复选框的

public void ScanZip(String name)
{
combo.removeAllItems();
try
{
ZipInputStream in=new ZipInputStream(new FileInputStream(name));
ZipEntry entry;
while((entry=in.getNextEntry())!=null)
{
combo.addItem(entry.getName());
}
in.close();
}
catch(IOException e)
{e.printStackTrace();}
}

加载文本区

public void LoadText(String name)
{
try
{
ZipInputStream zin=new ZipInputStream(new FileInputStream(name));
ZipEntry entry;
textArea.setText("");
while((entry=zin.getNextEntry())!=null)
{
if(entry.getName().equals(name))
{
BufferedReader in=new BufferedReader(new InputStreamReader(zin));
String line;
while((line=in.readLine())!=null)
{
textArea.append(line);
textArea.append("\n");
}

in.close();
}
//这里很重要
zin.closeEntry();
}
zin.close();

}
catch(IOException e)
{e.printStackTrace();}
}

private JTextArea textArea;
private JComboBox combo;
}

本文出自 “java” 博客,请务必保留此出处http://meizu169.blog.51cto.com/7344319/1219594
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: