www.pudn.com > htmlsaver.rar > NewProject.java


import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 
import java.io.*; 
 
public class NewProject implements ActionListener 
{ 
  JFrame frame; 
   
  JTextField name; 
  JTextField url; 
  JTextField dir; 
   
  JCheckBox image; 
  JCheckBox script; 
  JCheckBox nullLink; 
 
  JButton ok; 
  JButton cancel; 
   
  Project prj; 
   
  public NewProject() 
  { 
    prj = new Project(); 
     
    initFrame(); 
  } 
   
  protected void initFrame() 
  { 
    frame = new JFrame("HTML Saver New Project"); 
    frame.getContentPane().setLayout(new GridLayout(7, 1)); 
     
    JPanel panel; 
     
    panel = new JPanel(new BorderLayout(2, 2)); 
    panel.add(new JLabel(/*"Project Name:"*/"工程名:"), BorderLayout.WEST); 
    name = new JTextField(""); 
    panel.add(name, BorderLayout.CENTER); 
     
    frame.getContentPane().add(panel); 
     
    panel = new JPanel(new BorderLayout(2, 2)); 
    panel.add(new JLabel(/*"Main URL:"*/"主页面网址:"), BorderLayout.WEST); 
    url = new JTextField(""); 
    panel.add(url, BorderLayout.CENTER); 
     
    frame.getContentPane().add(panel); 
     
    panel = new JPanel(new BorderLayout(2, 2)); 
    panel.add(new JLabel(/*"Directory:"*/"本地目录:"), BorderLayout.WEST); 
    dir = new JTextField(""); 
    panel.add(dir, BorderLayout.CENTER); 
     
    frame.getContentPane().add(panel); 
     
    image = new JCheckBox(/*"Save Image"*/"保存图片", false); 
    frame.getContentPane().add(image); 
     
    script = new JCheckBox(/*"Save Script"*/"保存脚本", true); 
    frame.getContentPane().add(script); 
     
    nullLink = new JCheckBox(/*"Save null Link"*/"保留失效链接", true); 
    frame.getContentPane().add(nullLink); 
 
    ok = new JButton(/*"OK"*/"确定"); 
    ok.addActionListener(this); 
    cancel = new JButton(/*"Cancel"*/"取消"); 
    cancel.addActionListener(this); 
     
    panel = new JPanel(new GridLayout(1, 2)); 
    panel.add(ok); 
    panel.add(cancel); 
     
    frame.getContentPane().add(panel); 
     
    frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
    frame.setSize(500, 200); 
    frame.show(); 
  } 
   
  public void actionPerformed(ActionEvent e) 
  { 
    if (e.getSource() == cancel) 
    { 
      frame.hide(); 
    } 
    else if (e.getSource() == ok) 
    { 
      prj.prjName = name.getText(); 
      prj.mainURL = url.getText(); 
      prj.mainDir = dir.getText(); 
       
      prj.sImage = image.isSelected(); 
      prj.sScript = script.isSelected(); 
      prj.sNullLink = nullLink.isSelected(); 
       
      prj.links = GetURL.getURL(prj.mainURL, prj); 
      if (prj.links == null) 
      { 
        JOptionPane.showMessageDialog(frame, "获取 URL 出错!新建工程失败。"); 
        prj.clear(); 
        return; 
      } 
      prj.links.set(0, new Link(prj.mainURL, "工程主页面")); 
       
      File saveDir = new File(prj.mainDir); 
      if (!saveDir.exists()) 
        if (!saveDir.mkdir()) 
        { 
          JOptionPane.showMessageDialog(frame, "新建目录失败!请确认目录"); 
          prj.clear(); 
          return; 
        } 
 
      prj.saveToFile(); 
      frame.hide(); 
      new OpenProject(prj); 
    } 
  } 
   
  public static void main(String[] args) 
  { 
    new NewProject(); 
  } 
}