java 编辑框代码,编辑器 - java代码库 - 云代码

这是一个使用Java Swing编写的添加界面示例。代码创建了一个包含项目名称输入框和确认、取消按钮的窗口。当项目名称输入框有内容时,确定按钮变为可用。点击确定会调用处理函数,而取消则关闭窗口并释放父窗口。
摘要由CSDN通过智能技术生成

[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

*
网站: 疯狂Java联盟

*
Copyright (C), 2009-2010, yangenxiong

*
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);

}

}

[源代码打包下载]

7ab7b94785bbdb79d4aaa6009386543f.gifeditor.zip(50积分)[2 次下载]

694748ed64b9390909c0d88230893790.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值