关于GUI的一个应用实例,学得越多,越感觉有意思
来源:互联网 发布:logback 配置输出sql 编辑:程序博客网 时间:2024/06/06 12:39
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
今天跟老毕学习GUI,很开心很爽,尤其是监听器的安装这一块儿,原来绕来绕去把自己都给搞懵了,现在跟着老毕一起做了一遍,思路清晰多了,如有错误,也请高手指教:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
class ListDemo
{
//第一步将要用到的组建在这里初始化
private Frame f;
private Button b;
private TextField tf;
private TextArea ta;
private Dialog d;
private Button okBt;
private Label l;
//创建一个构造函数,再将需要对象一初始化就装载的程序放到构造函数中;
public ListDemo()
{
init();
}
//创建事件管理方法
public void init()
{
f = new Frame("My Frame");
f.setBounds(300,100,600,400);
f.setLayout(new FlowLayout());
f.addWindowListener(new WindowAdapter()/*在这里我们给窗口对象安装了窗口监听器,
当窗口动作(或叫事件)发生时,会有一个事件信息文件被传到该监听器,
监听器根据事件信息,调用相应的方法 */
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
tf = new TextField(50);
tf.addActionListener(new ActionListener()//这是TextField的自身特有的动作监听器,其实就是当你击回车键时,监听器该做什么
{
public void actionPerformed(ActionEvent e)
{
ta.setText("");
show();
}
});
f.add(tf);
b = new Button("提交");
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
ta.setText("");
show();
}
});
f.add(b);
ta = new TextArea(20,60);
f.add(ta);
f.setVisible(true);
d = new Dialog(f,"错误提醒",true);
d.setBounds(400,200,300,150);
d.setLayout(new FlowLayout());
d.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
d.setVisible(false);
}
});
l = new Label();
d.add(l);
okBt = new Button("确定");
okBt.addActionListener(new ActionListener()//给错误提示框里的按钮安装监听器
{
public void actionPerformed(ActionEvent e)
{
d.setVisible(false);
tf.setText("");
}
});
d.add(okBt);
}
private void show()//这里是将事件里的显示方法独立封装,提高代码的复用性.
{
String dirPath = tf.getText();
File f = new File(dirPath);
if(f.exists() && f.isDirectory())
{
String[] names = f.list();
for(String name : names)
{
ta.append(name+"\r\n");
}
}
else
{
String info = "您输入的地址名"+dirPath+"不存在,请重新输入!";
l.setText(info);
d.setVisible(true);
}
}
public static void main(String[] args)
{
new ListDemo();
}
}
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
- 关于GUI的一个应用实例,学得越多,越感觉有意思
- 感觉挺有意思的
- 学得越多,发现自己不懂的也越多
- 学得越多,懂得越少
- 一个有意思的.net应用bug
- 一个有意思的问题(关于SendMessage)
- 关于Graphics的一个应用实例
- 一个有意思的多操作系统
- 一个有意思的多操作系统
- Java有意思的实例
- 关于foursquare(四方)应用的讨论,比较有意思
- 推荐:有意思的应用
- 搞搞有意思的应用
- 关于NULL指针的一个有意思的现象
- 关于字符数组的一个有意思的程序
- 关于layout_weight的一个很有意思的特点
- 一个关于转义字符的很有意思的事情”\\n“
- 关于《Java报表工具选型记》一个有意思的评论
- PostgreSQL启动过程中的那些事七:初始化共享内存和信号十六:shmem中初始化BgWriter
- DBA常用管理语句
- 第六周实验报告4
- iphone开发 地图线路
- 杭电1085
- 关于GUI的一个应用实例,学得越多,越感觉有意思
- jquery插件面板效果
- 成员变量初始化顺序
- 第六周任务5:多项目
- 在一个字符串中删除另一个字符串中存在的字符
- ubuntu 10.10下搭建android开发环境 安装必要工作用软件
- 如何有效管理工时 - 2
- 第六周实验报告2
- C#学习:综合练习聊天机器人第一版