package org.crazyit.editor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import org.crazyit.editor.commons.AddInfo;
/**
* 添加界面
*
* @author yangenxiong yangenxiong2009@gmail.com
* @version 1.0
* <br/>网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
* <br>Copyright (C), 2009-2010, yangenxiong
* <br>This program is protected by copyright laws.
*/
public class AddFrame
extends JFrame {
//该Frame的JPanel
//项目名称
//显示文件的JLabel
//输入名称的JTextField
//放按钮的Panel
//确定按钮
//取消按钮
public AddFrame(final AddInfo info) {
//设置nameLabel的文字
nameLabel
= new JLabel(info.
getInfo());
public void windowClosing
(java.
awt.
event.
WindowEvent e
) {
cancel(info);
}
});
setLocation(200, 200);
setResizable(false);
//文本框前面的字
namePanel.add(nameLabel);
namePanel.add(nameText);
//判断项目路径与名称是否有值, 如果两个text field都有值, 则确定按钮可用
if (nameText.getText().equals("")) {
confirmButton.setEnabled(false);
} else {
confirmButton.setEnabled(true);
}
}
});
//确定和取消的按钮
confirmButton.setEnabled(false);
buttonPanel.add(confirmButton);
buttonPanel.
add(new JLabel(" "));
buttonPanel.add(cancelButton);
//为取消按钮添加监听器
cancel(info);
}
});
//为确定按钮添加监听器
//如果输入框没有值,返回
if (nameText.getText() == "") return;
handerConfirm(info);
}
});
mainPanel.add(namePanel);
mainPanel.add(buttonPanel);
add(mainPanel);
pack();
}
//处理确定按钮的点击
private void handerConfirm(AddInfo info) {
//获取得用户输入
String data
= nameText.
getText();
//新增后会涉及的一些与业务相关的操作留给Handler类处理
info.getHandler().afterAdd(info.getEditorFrame(), this, data);
}
private void cancel(AddInfo info) {
//设置EditorFrame可用
info.getEditorFrame().setEnabled(true);
//让本窗口不可见
setVisible(false);
}
}