--GUI界面编程--java学习日记9(基础知识)
来源:互联网 发布:淘宝热度 编辑:程序博客网 时间:2024/05/21 03:26
GUI是Graphic User Interface的缩写,意思是图形用户界面。它可以用来创建一个窗口,添加各种组件并相应用户的操作。
创建图形用户界面的一般步骤如下:
1,创建frame窗体。 Frame frame = new Frame(); 这样就创建了一个简单的窗体,很简单吧,但运行一下什么效果都没有,因为它默认是不可见的,要进行进一步设置。
2,对窗体进行基本设置。
比如大小,位置,布局。 setSize() setBounds() setLocation() setLayout()
3,定义组件。
4,将组件通过窗体的add方法添加到窗体中。
5,让窗体显示,通过setVisible(true);
完成上面5步就可以看见效果了,下面是一个简单的例子。
import java.awt.*;import java.awt.event.*;class MyFrame {private Frame frame;public MyFrame(String title){frame = new Frame(title); // 创建一个窗体,title为窗体的标题init(); // 进行初始化}// 对窗体进行初始化的代码public void init(){frame.setBounds(300, 200, 400, 300); // 设置窗体出现的位置和大小frame.setLayout(new FlowLayout());frame.addWindowListener(new WindowAdapter() // 为窗体添加监听,使其相应关闭操作{public void windowClosing(WindowEvent e){System.exit(0); // 当用户点击关闭,会退出程序并隐藏窗体}});Button test = new Button("测试按钮"); // 定义一个按钮frame.add(test); // 将按钮添加到窗体上frame.setVisible(true); // 设置窗体可见}public static void main(String[] args) {new MyFrame("这是我的窗体"); // 启动程序,创建并显示一个窗体,按关闭按钮退出}}
运行效果如下:
因为已经为窗体添加了事件监听,可以按关闭按钮关闭窗体。当然,要实现更为丰富的操作,仅仅是这些肯定不够,还可以为按钮添加监听,当点击按钮也可以进行一些操作。按钮的监听是ActionListener,只要调用按钮的addActionListener()方法就可以为按钮添加监听,其处理代码在actionPerformed方法中。也可以像窗体中添加其他组件,如标签,文本区,单选框,复选框等。它们都可以添加相应的监听来相应并处理用户的操作。
常用的添加监听的方法有两种:
一是声明一个监听器XxxListener的匿名内部类并实现相应的处理方法作为参数传递给addXxxListener()方法,上面例子中为窗体添加关闭监听用的就是匿名内部类的方式。
二是定义一个监听器的子类,实现相应的处理方法,并创建一个该类对象作为参数传递给addXxxListener()方法。
class MyListener implements ActionListener{public void actionPerformed(ActionEvent e) // 所有的动作监听器监听到的事件都到这里处理{if(e.getSource() == go) // 点击“转到”按钮{showDir();}else if(e.getSource() == ok) // 点击警告框上的“确定”按钮{alert.setVisible(false);}}}
为按钮添加监听:
Button go = new Button("转到");// 创建一个按钮go.addActionListener(this);// 为按钮添加监听,相应点击操作
一个综合的例子:设计一个窗口,用户在文本域输入一个路径,点击按钮在一个多行文本区中显示该路径下的所有目录,如果路径不存在则弹窗提示。
思路:窗体中应该有一个文本域TextField来接收用户的输入,有一个按钮来让用户确定,还有一个多行文本区来显示结果。获取路径后,用File类的list方法得到指定路径下的目录名并显示。
代码如下:
import java.awt.*;import java.io.*;import java.awt.event.*;class MyFrameTest extends Frame implements ActionListener{private Button go; //定义一系列要添加的组件,按钮、文本区、标签、对话框等private TextField tf;private TextArea ta;private Dialog alert;private Label lab;private Button ok;public MyFrameTest(String title) // 构造函数,title为窗体标题{super(title);init(); // 执行窗体初始化方法}public void init() // 用来设置窗体的属性{setBounds(300, 200, 800, 600);setLayout(new FlowLayout());addWindowListener(new WindowAdapter() // 为窗体添加监听,使其相应关闭操作{public void windowClosing(WindowEvent e){System.exit(0); // 当用户点击关闭,会退出程序并隐藏窗体}});// 组件的具体属性tf = new TextField(70); // 设置文本域的长度ta = new TextArea(40, 80);// 设置多行文本区的行数和列数go = new Button("转到");ok = new Button("确定");// 将组件添加到窗体add(tf);add(go);add(ta);alert = new Dialog(this, "找不到指定文件", true); // 定义一个警告提示对话框alert.setLayout(new FlowLayout());// 设置窗体布局为流式布局lab = new Label();alert.add(lab);alert.add(ok);// 为按钮添加监听,相应操作go.addActionListener(this);ok.addActionListener(this);tf.addKeyListener(new KeyAdapter() // 为文本域添加相应键盘的监听{public void keyPressed(KeyEvent e){if(e.getKeyCode() == KeyEvent.VK_ENTER) // 当按下回车键时{showDir(); // 自定义的一个函数,用来显示目录}}});setVisible(true);}public void actionPerformed(ActionEvent e) // 所有的动作监听器监听到的事件都到这里处理{if(e.getSource() == go) // 点击“转到”按钮{showDir();}else if(e.getSource() == ok) // 点击警告框上的“确定”按钮{alert.setVisible(false);}}public void showDir(){String path = tf.getText(); // 获得文本域的内容File f = new File(path); // 根据输入的路径创建一个文件对象if(!f.exists()){lab.setText(path+"--找不到指定路径!");alert.setBounds(350, 250, 300, 200);alert.setVisible(true);//throw new FileNotFoundException("文件找不到");}else{ta.setText(""); // 清除多行文本区的内容,准备显示下一个遍历的目录int count = 1;for(File file : f.listFiles()) // 遍历指定目录{ta.append(count++ + "--"+file.getName());ta.append("\n");}}}public static void main(String[] args) {new MyFrameTest("文件搜索");}}
如何将.java文件转成可执行文件?
前提:源文件应放入包中,即有package语句。
1.将源文件带包进行编译: javac -d 存放路径 类名.java
2.添加清单文件信息--新建一个文件,例mf.txt,写入以下内容:
Main-Class: 包名.类名(含主方法的类)
(要回车换行表示一行结束)
3.打jar包:jar -cvfm name.jar mf.txt 包名
经过上面三个步骤,java就编程可执行文件了!
- --GUI界面编程--java学习日记9(基础知识)
- 黑马程序员--Java学习日记之GUI(图形化用户界面编程)
- --网络编程--java学习日记10(基础知识)
- Java界面编程(GUI,AWT)
- 黑马程序员--Java学习日记之GUI&网络编程
- Java基础知识 十五(GUI 图形化界面)
- Java GUI编程的基础知识
- 黑马程序员_JAVA学习日记_JAVA中图形化界面GUI编程
- java的GUI界面编程
- 黑马程序员_Java编程学习日记01(开博之言、java编程基础知识总结)
- 黑马程序员Java学习日记(7)GUI
- java并发编程实践学习(9)GUI应用程序
- --面向对象第一部分--java学习日记4(基础知识)
- Java学习日记(十一)网络编程
- java基础学习GUI编程
- java--------学习之《GUI 图形化界面》
- 【Java学习笔记】GUI界面之小游戏
- 黑马程序员-学习日记17( GUI )
- CLR内存管理
- linux文件I/O编程
- 如何实现正则表达式的JavaScript的代码高亮
- HDFS之Storage continue......
- Ubuntu中开启MySQL远程访问功能
- --GUI界面编程--java学习日记9(基础知识)
- 架构师怕程序员知道的十件事
- usaco2.4.5回家
- ddddddddddddddd
- 漫步红尘外,心亦在水云间
- java没有引用传递!
- RGB888->RGB565->RGB888
- 我的PhoneGap安装配置经历
- Spring MVC 教程,快速入门,深入分析