📄 statuspanel.java
字号:
/* * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */package net.sf.jftp.gui;import net.sf.jftp.JFtp;import net.sf.jftp.config.Settings;import net.sf.jftp.gui.framework.*;import net.sf.jftp.net.*;import net.sf.jftp.util.*;import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.*;public class StatusPanel extends HPanel implements ActionListener{ public static StatusCanvas status = new StatusCanvas(); private HImageButton newcon = new HImageButton(Settings.hostImage, "newcon", "Add FTP Connection...", this); private HImageButton smbcon = new HImageButton(Settings.openImage, "smbcon", "Add SMB Connection...", this); private HImageButton sftpcon = new HImageButton(Settings.sftpImage, "sftpcon", "Add SFTP Connection...", this); private HImageButton nfscon = new HImageButton(Settings.nfsImage, "nfscon", "Add NFS Connection...", this); private HImageButton webdavcon = new HImageButton(Settings.webdavImage, "webdavcon", "Add WebDAV Connection...", this); public HImageButton close = new HImageButton(Settings.closeImage, "close", "Close active tab...", this); private HImageButton go = new HImageButton(Settings.refreshImage, "go", "Download URL now...", this); private JTextField address = new JTextField("http://", 30); public JFtp jftp; public StatusPanel(JFtp jftp) { this.jftp = jftp; setLayout(new BorderLayout()); JToolBar bar = new JToolBar(); Insets in = bar.getMargin(); bar.setMargin(new Insets(in.top + 2, in.left + 4, in.bottom + 2, in.right + 4)); bar.add(newcon); newcon.setSize(24, 24); newcon.setToolTipText("New FTP Connection..."); bar.add(new JLabel(" ")); bar.add(smbcon); smbcon.setSize(24, 24); smbcon.setToolTipText("New SMB Connection..."); bar.add(new JLabel(" ")); bar.add(sftpcon); sftpcon.setSize(24, 24); sftpcon.setToolTipText("New SFTP Connection..."); bar.add(new JLabel(" ")); bar.add(nfscon); nfscon.setSize(24, 24); nfscon.setToolTipText("New NFS Connection..."); bar.add(new JLabel(" ")); bar.add(webdavcon); webdavcon.setSize(24, 24); webdavcon.setToolTipText("New WebDAV Connection..."); bar.add(new JLabel(" ")); bar.add(close); close.setSize(24, 24); close.setToolTipText("Close Active Remote tab..."); bar.add(new JLabel(" ")); address.addActionListener(this); bar.add(new JLabel("URL: ")); bar.add(address); bar.add(new JLabel(" ")); bar.add(go); //*** go.setToolTipText("Download URL Now..."); //*** bar.add(new JLabel(" ")); //bar.add(status); add("North", bar); validate(); setFont(GUIDefaults.menuFont); setVisible(true); } public void status(String msg) { status.setText(msg); } public String getHost() { return status.getHost(); } public void setHost(String host) { status.setHost(host); } public void actionPerformed(ActionEvent e) { if(e.getActionCommand().equals("go") || (e.getSource() == address)) { Vector listeners = new Vector(); listeners.add(JFtp.localDir); String url = address.getText().trim(); startTransfer(url, JFtp.localDir.getPath(), listeners, JFtp.getConnectionHandler()); } else if(e.getActionCommand().equals("smbcon")) { //jftp.safeDisconnect(); SmbHostChooser hc = new SmbHostChooser(); hc.toFront(); //hc.setModal(true); hc.update(); } else if(e.getActionCommand().equals("sftpcon")) { //jftp.safeDisconnect(); SftpHostChooser hc = new SftpHostChooser(); hc.toFront(); //hc.setModal(true); hc.update(); } else if(e.getActionCommand().equals("nfscon")) { //jftp.safeDisconnect(); NfsHostChooser hc = new NfsHostChooser(); hc.toFront(); //hc.setModal(true); hc.update(); } else if(e.getActionCommand().equals("webdavcon")) { //jftp.safeDisconnect(); WebdavHostChooser hc = new WebdavHostChooser(); hc.toFront(); //hc.setModal(true); hc.update(); } else if(e.getActionCommand().equals("close")) { jftp.closeCurrentTab(); } else if(e.getActionCommand().equals("newcon") && (!jftp.uiBlocked)) { // jftp.safeDisconnect(); // Switch windows // jftp.mainFrame.setVisible(false); HostChooser hc = new HostChooser(); hc.toFront(); //hc.setModal(true); hc.update(); } } public void startTransfer(String url, String localPath, Vector listeners, ConnectionHandler handler) { if(url.startsWith("ftp://") && (url.endsWith("/") || (url.lastIndexOf("/") < 10))) { jftp.safeDisconnect(); HostChooser hc = new HostChooser(); hc.update(url); } else if(url.startsWith("http://") && (url.endsWith("/") || (url.lastIndexOf("/") < 10))) { HttpBrowser h = new HttpBrowser(url); JFtp.desktop.add(h, new Integer(Integer.MAX_VALUE)); } else { HttpTransfer t = new HttpTransfer(url, localPath, listeners, handler); } } public Insets getInsets() { Insets in = super.getInsets(); return new Insets(in.top, in.left, in.bottom, in.right); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -