📄 view.java
字号:
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 576, Short.MAX_VALUE)
.addContainerGap())
.addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 636, Short.MAX_VALUE)
.addComponent(jSplitPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 636, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jToolBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jSplitPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void jMenuItem13ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem13ActionPerformed
// TODO 将在此处添加您的处理代码:
JOptionPane.showMessageDialog(jPanel1,"author : Jason" + (char)10 + "Edite : 1.0","About",JOptionPane.INFORMATION_MESSAGE);
}//GEN-LAST:event_jMenuItem13ActionPerformed
private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem5ActionPerformed
// TODO 将在此处添加您的处理代码:
((CardLayout)jPanel1.getLayout()).first(jPanel1);
}//GEN-LAST:event_jMenuItem5ActionPerformed
private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem4ActionPerformed
// TODO 将在此处添加您的处理代码:
((CardLayout)jPanel1.getLayout()).last(jPanel1);
}//GEN-LAST:event_jMenuItem4ActionPerformed
private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem3ActionPerformed
// TODO 将在此处添加您的处理代码:
String dir = JOptionPane.showInputDialog(jPanel1,"Please write down the Save_dir:");
connector.download(dir,view.this.download);
}//GEN-LAST:event_jMenuItem3ActionPerformed
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
// TODO 将在此处添加您的处理代码:
FtpConnection.root = null;
theSharefile = null;
byte[] blank = null;
try{
new FileOutputStream("save.txt").write(blank);
}catch(Exception e){}
}//GEN-LAST:event_jMenuItem2ActionPerformed
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed
// TODO 将在此处添加您的处理代码:
FtpConnection.root = theSharefile;
}//GEN-LAST:event_jMenuItem1ActionPerformed
/**
* @param args the command line arguments
*/
public NetTreeModel initialNetTreeModel(){
nethost = new Vector<String>();
NetTreeModel nettree = new NetTreeModel(nethost);
jTree2 = new JTree(nettree);
jTree2.setCellRenderer(new NetTreeIconRenderer());
jTree2.addMouseListener(new DealNetTreeAction());
return nettree;
}
public FileSystemModel initialTreeModel(){
FileSystemModel data = new FileSystemModel();
jTree1 = new JTree(data);
this.jTree1.addMouseListener(new DealTreeAction());
this.jTree1.setCellRenderer(new TreeIconRenderer());
return data;
}
public myTableModel initialTableModel(){
File[] root = File.listRoots();
Vector<File> rootvector = new Vector<File>();
for (int i=0;i<root.length;i++)
rootvector.addElement(root[i]);
myTableModel data = new myTableModel(rootvector);
jTable1 = new JTable(data);
DealTableAction dta = new DealTableAction();
this.jTable1.getModel().addTableModelListener(dta);
this.jTable1.addMouseListener(dta);
this.jTable1.setDefaultRenderer(myFile.class,new TableIconRenderer());
((CardLayout)jPanel1.getLayout()).first(jPanel1);
return data;
}
public NetTableModel initialNetTableModel(){
NetTableModel netmodel = new NetTableModel();
jTable2 = new JTable(netmodel);
jTable2.addMouseListener(new DealNetTableAction());
return netmodel;
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new view().setVisible(true);
}
});
}
//****************************************************************************
class NetTreeIconRenderer extends DefaultTreeCellRenderer{
NetTreeIconRenderer(){}
public Component getTreeCellRendererComponent(JTree tree,Object icon,boolean sel,boolean expanded,boolean leaf,int row,boolean hasFocus){
super.getTreeCellRendererComponent(tree,icon,sel,expanded,leaf,row,hasFocus);
ImageIcon picture = new ImageIcon("/picture/computer.jpg");
Image pc = picture.getImage();
setIcon(new ImageIcon(pc.getScaledInstance(20,20,Image.SCALE_DEFAULT)));
if (icon.getClass().toString().equals("class java.util.Vector"))
{
setText("网络连接");
}
return this;
}
}
class TreeIconRenderer extends DefaultTreeCellRenderer{
TreeIconRenderer(){}
public Component getTreeCellRendererComponent(JTree tree,Object icon,boolean sel,boolean expanded,boolean leaf,int row,boolean hasFocus){
super.getTreeCellRendererComponent(tree,icon,sel,expanded,leaf,row,hasFocus);
if (icon.getClass().toString().equals("class java.io.File")
||icon.getClass().toString().equals("class explorer.myFile"))
{
if (theSharefile != null)
{
try{
String std = new File(theSharefile).getCanonicalPath();
byte[] change = theSharefile.getBytes();
new FileOutputStream("save.txt").write(change);
if (((File)icon).getCanonicalPath().startsWith(std))
{
ImageIcon shareicon = new ImageIcon("/picture/file.jpg");
Image theImage = shareicon.getImage();
setIcon(new ImageIcon(theImage.getScaledInstance(20,20,Image.SCALE_DEFAULT)));
}
else
setIcon(FileSystemView.getFileSystemView().getSystemIcon((File)icon));
}catch(Exception e){}
}
else
setIcon(FileSystemView.getFileSystemView().getSystemIcon((File)icon));
}
else
{
ImageIcon picture = new ImageIcon("/picture/4668199672_29212459.jpg");
Image pc = picture.getImage();
setIcon(new ImageIcon(pc.getScaledInstance(20,20,Image.SCALE_DEFAULT)));
setText("Jason's Computer");
}
return this;
}
}
class TableIconRenderer extends DefaultTableCellRenderer{
TableIconRenderer(){}
public Component getTableCellRendererComponent(JTable table,Object icon,boolean isSelected,boolean hasFocus,int row,int column){
super.getTableCellRendererComponent(table,icon,isSelected,hasFocus,row,column);
setIcon(FileSystemView.getFileSystemView().getSystemIcon((File)icon));
if (icon.toString().equals(""))
setText(((File)icon).getAbsolutePath());
return this;
}
}
//************************************************************************************
public void actionPerformed(ActionEvent event){
this.aboutTextFieldEvent();
}
public void aboutTextFieldEvent(){
try{
path = jTextField1.getText();
File theFile = new myFile(path);
if (path.equals("Jason's Computer"))
{
File[] root = File.listRoots();
Vector<File> rootvector = new Vector<File>();
for (int i=0;i<root.length;i++)
rootvector.addElement(root[i]);
jTable1.setModel(new myTableModel(rootvector));
((CardLayout)jPanel1.getLayout()).first(jPanel1);
}
else if (theFile.exists())
{
if (theFile.isDirectory())
{
jTable1.setModel(new myTableModel(path));
((CardLayout)jPanel1.getLayout()).first(jPanel1);
Vector<File> storePath = new Vector<File>();
File listFile = theFile;
storePath.addElement(listFile);
while (listFile.getParent() != null)
{
listFile = listFile.getParentFile();
storePath.addElement(listFile);
}
Object[] treePath = new Object[storePath.size()+1];
for (int i=storePath.size()-1;i>=0;i--)
{
treePath[storePath.size()-i] = storePath.get(i);
}
File[] root = File.listRoots();
Vector<File> rootvector = new Vector<File>();
for (int i=0;i<root.length;i++)
rootvector.addElement(root[i]);
treePath[0] = rootvector;
TreePath inst = new TreePath(treePath);
jTree1.expandPath(inst);
}
if (theFile.isFile())
{
Desktop.getDesktop().open(theFile);
}
}
else
{
String userName = JOptionPane.showInputDialog(jPanel1,"Please write down your user name:");
String passWord = JOptionPane.showInputDialog(jPanel1,"Please write down the password:");
connector = new FtpClient();
connector.connect(path,21,userName,passWord);
connector.getList();
netfile = connector.fileName;
jTable2.setModel(new NetTableModel(netfile));
((CardLayout)jPanel1.getLayout()).last(jPanel1);
}
}catch(IOException exp){}
}
class DealButton1Action implements ActionListener{
public void actionPerformed(ActionEvent event)
{
File currentfile = new myFile(jTextField1.getText());
if (currentfile.exists())
{
File parentFile = new File(jTextField1.getText()).getParentFile();
if (parentFile != null)
{
view.this.path = parentFile.getAbsolutePath();
jTextField1.setText(view.this.path);
record_b.addElement(jTextField1.getText());
jTable1.setModel(new myTableModel(view.this.path));
((CardLayout)jPanel1.getLayout()).first(jPanel1);
}
else
{
File[] root = File.listRoots();
Vector<File> rootvector = new Vector<File>();
for (int i=0;i<root.length;i++)
rootvector.addElement(root[i]);
jTable1.setModel(new myTableModel(rootvector));
((CardLayout)jPanel1.getLayout()).first(jPanel1);
jTextField1.setText("Jason's Computer");
record_b.addElement(jTextField1.getText());
}
}
else
{
try{
connector.getparentdir();
connector.getList();
netfile = connector.fileName;
jTable2.setModel(new NetTableModel(netfile));
}catch(Exception e){}
}
}
}
class DealButton2Action implements ActionListener{
public void actionPerformed(ActionEvent e){
File[] root = File.listRoots();
Vector<File> rootvector = new Vector<File>();
for (int i=0;i<root.length;i++)
rootvector.addElement(root[i]);
jTable1.setModel(new myTableModel(rootvector));
jTextField1.setText("Jason's Computer");
record_b.addElement(jTextField1.getText());
jTree1.setModel(new FileSystemModel());
((CardLayout)jPanel1.getLayout()).first(jPanel1);
}
}
class DealButton3Action implements ActionListener{
public void actionPerformed(ActionEvent e){
try{
FtpClient tryer = new FtpClient();
for (int i=40;i<=50;i++)
{
String host = "59.66.131."+i;
System.out.println(host);
if (tryer.isServer(host))
{
nethost.addElement("59.66.131."+i);
}
}
jTree2.setModel(new NetTreeModel(nethost));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -