用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

编辑器

2017-11-28 作者: 柯侧耳倾听者举报

[java]代码库

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
    private JPanel mainPanel;
     
    //项目名称
    private JPanel namePanel;
     
    //显示文件的JLabel
    private JLabel nameLabel;
     
    //输入名称的JTextField
    private JTextField nameText;
     
    //放按钮的Panel
    private JPanel buttonPanel;
     
    //确定按钮
    private JButton confirmButton;
     
    //取消按钮
    private JButton cancelButton;
     
     
    public AddFrame(final AddInfo info) {
        mainPanel = new JPanel();
        namePanel = new JPanel();
        //设置nameLabel的文字
        nameLabel = new JLabel(info.getInfo());
        nameText = new JTextField("", 20);
        buttonPanel = new JPanel();
        confirmButton = new JButton("确定");
        cancelButton = new JButton("取消");
         
        mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
        addWindowListener(new WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent e) {
                cancel(info);
            }
        });
        setLocation(200, 200);
        setResizable(false);
        //文本框前面的字
        namePanel.setLayout(new BoxLayout(namePanel, BoxLayout.X_AXIS));       
        namePanel.add(nameLabel);
        namePanel.add(nameText);
        nameText.addKeyListener(new KeyAdapter() {
            public void keyReleased(KeyEvent e) {
                //判断项目路径与名称是否有值, 如果两个text field都有值, 则确定按钮可用
                if (nameText.getText().equals("")) {
                    confirmButton.setEnabled(false);
                } else {
                    confirmButton.setEnabled(true);
                }
            }
        });
         
        //确定和取消的按钮
        buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.X_AXIS));
        confirmButton.setEnabled(false);
        buttonPanel.add(confirmButton);
        buttonPanel.add(new JLabel("    "));
        buttonPanel.add(cancelButton);
         
        //为取消按钮添加监听器
        cancelButton.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e) {
                cancel(info);
            }
        });
        //为确定按钮添加监听器
        confirmButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                //如果输入框没有值,返回
                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);
    }
     
 
     
}

[源代码打包下载]




网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...