关于GUI的一个应用实例,学得越多,越感觉有意思

原创 2012年03月28日 21:26:34

---------------------- 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培训、期待与您交流! ----------------------

马云最新撰文:公司假口号越多 员工士气越低落

原标题:马云最新撰文:呵呵写了这么多,只希望对有用的用 阿里巴巴集团董事局主席马云在“来往”官方扎堆“江湖情”中就企业文化建设与广大创业者交流。 以下为全文: 今天,我想和大...
  • deerleaper
  • deerleaper
  • 2014年01月22日 15:47
  • 481

房价去库存,越去越多

由于从今年上半年起,国内三四线城市的房地产市场开始火爆,因此今年我到三四线城市的机会也多以起来。今年政府对三四线城市房地产市场的政策是,“因城施策”的房地产市场去库存。即是要通过让2015年下半年起导...
  • bat1992
  • bat1992
  • 2017年06月28日 14:31
  • 144

文摘:你越对, 得罪的人越多!

中国人求的是圆满,绝对不是对错。实际上这是最难做到的。中国人最讨厌没是没非的人,但是中国人最不喜欢是非分明的人。凡是是非分明的人,人缘都不好,事情都办不通。 我们是要求很高的民族,我们要在圆满...
  • zjc314
  • zjc314
  • 2017年02月19日 10:46
  • 424

为什么你学的越多,越没法行动?

行动,只有行动能带来生活的改变,这个不用说了。 我在职业发展课上讲了十二小时,最后让大家写这个课程你印象最深的一句话。 很多人写:“如果不行动,听多少课都是这个怂样。” 如果只能记得一句,那这一...
  • tomotayuki
  • tomotayuki
  • 2015年07月13日 11:12
  • 353

编写过哪些有意思的应用到生活当中的小程序

1、可耻的匿了。 硬盘里1T多的毛片不好管理,于是乎拿mySQL写了个数据库。 table1:女优英文名,中文名,罩杯,身材,气质。 table2:电影番号,公司,出演女优,截图存放地址,影片存放地址...
  • lonelyrains
  • lonelyrains
  • 2014年02月26日 12:57
  • 6294

越维护代码越感觉心惊肉跳的

很奇怪,今天一大早来到公司我就有这种感觉。大概我感觉昨天我改正的那个bug其中可能还隐含了“杀气”!然后我仔细的再次阅读了一遍,  果然,里面隐藏了一个不定时“炸弹”——有一个读文件操作,我没有添加条...
  • baijiaheizhiganmao
  • baijiaheizhiganmao
  • 2016年03月08日 11:14
  • 2067

matlab GUI之一个例子

一个例子 hf=figure('menubar','none',... 'name','设置曲线的形状和颜色',... 'Unit...
  • zjq2010014137
  • zjq2010014137
  • 2013年01月22日 11:01
  • 8627

知道得越多,越难改变观点

好,人们会倾向于关注与自己相信的观点一致的信息,而且也会对传递信息的来源做出选择。似乎情况一直如此,对吧?也许是的,但如今这个问题无疑变得更严峻了,因为人们浏览信息的方式发生了变化——人们会通过fac...
  • asasvasv
  • asasvasv
  • 2014年06月23日 12:02
  • 284

39岁程序员的困惑:知道越多编程越…

Zilk1988 年 14 岁时就开始编程,此后尝试过几种职业,最终还是在 1997 年决定成为职业程序员(又称码农),现在已经 39 岁,对此选择依然无怨无悔。   但是后来他发现一个问题,自己的...
  • arvin0
  • arvin0
  • 2014年07月29日 10:37
  • 251

Java GUI简单实例

package test; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.Actio...
  • u011631266
  • u011631266
  • 2013年12月02日 23:15
  • 2470
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于GUI的一个应用实例,学得越多,越感觉有意思
举报原因:
原因补充:

(最多只允许输入30个字)