Java图形化界面GUI-01-----黑马程序员

发布时间:2016-12-11 12:29:26 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Java图形化界面GUI-01-----黑马程序员",主要涉及到Java图形化界面GUI-01-----黑马程序员方面的内容,对于Java图形化界面GUI-01-----黑马程序员感兴趣的同学可以参考一下。

ASP.Net+Android+IOS开发------期待与您交流   <图形化界面>   <图形化界面的使用方法,概念> 1. 容器   * 窗口,面板,选项卡,可以存放其他容器或者组件     * Frame窗口     * Dialog FileDialog 2. 组件   * 按钮,文本框,对话框,菜单,不能单独使用,必须放在容器中     * Button按钮     * TextArea多行文本     * TextField文本字段,单行文本     * 必须要添加到容器中 3. awt和swing   * awt 调用了操作系统中的方法,完成图形界面,依赖系统,重量级   * swing 纯java编写的图形界面,不依赖操作系统 轻量级 4. Frame类,构建窗体的类   * 构造方法,传递字符串,窗口的标题栏   * setSize(width,height)宽,高,单位是像素   * setVisible(true)窗口显示了   * setLocation   * Toolkit.getDefaultToolkit().getScreenSize().width;获取屏幕的分辩率   * setLayout(null)取消布局管理器,实现组件的任意位置的放置 (组件要定义尺寸和位置)   * setBounds(横轴,纵轴,宽度,高度)   * setMenuBar()设置菜单栏 5. Button类,按钮构建   * 构造方法,传递字符串   6. 窗体的布局管理器 7. 事件的监听机制   * 事件源,就是用户操作的那个组件   * 事件,鼠标事件,键盘事件,窗体事件   * 监听器,监听,等待这个事件的发生     * 按钮事件源,为按钮添加了一个事件监听器,监听鼠标的单击事件,交给事件处理方式   * 事件处理     * 就是个方法   点击红色的叉子,关闭程序   * 事件源,窗体   * 窗体事件   * 监听什么?窗体事件操作,点击红叉子   * 交给一个方法来处理 8. 适配器设计模式   * 是将接口适配成用户想要的效果   * 抽象类实现接口中的方法,并且这个抽象类中全部是普通方法   * 子类继承抽象方法,覆盖你想要的方法 9.TextField组件   * 构造方法 10. 键盘事件   * KeyEvent e      * getKeyCode() ASCII       * getKeyChar() 字符      * consume()   * 实现Ctrl+Enter键     * isControlDown()判断是否按下Ctrl键 11. 鼠标事件   * mouseClicked(MouseEvent e)鼠标点击事件     * mouseEntered(MouseEvent e)鼠标进入组件   * mouseExited(MouseEvent e)鼠标离开组件   * int getClickCount()返回在组件上,鼠标点击了多少次 12. Dialog对话框容器   * 构造方法(所属窗体,标题,模式)   * Label显示文字 13. awt的实例   * 用户输入一个路径,展示这个路径中的有文件和文件夹   * 使用的技术 IO awt     * awt中需要的容器和组件        * Frame        * 文本框组件        * Label组件        * 按钮组件        * 对话框     * IO中需要哪些类        * File   GUI练习   * 实现步骤:     A-- 先做界面     B-- 事件的响应       B1* 窗口的关闭       B2* 点击按钮           * 获取这个文本框中写的是什么   * 获取到输入后,判断空   * 封装成File对象,判断输入的目录有没有,判断是不是目录   * 获取文件列表 、listFiles()       B3* 输入后直接按下回车键  下面是对GUI的整体性应用代码实现如下: package cn.filelist; import java.awt.*; import java.awt.event.*; import java.io.*; import java.lang.reflect.Field; import java.security.PublicKey; public class GuiDemo { //定义窗体组件 private Frame frm= null; //功能的使用说明 private Label fla = null; //输入文本框组件 private TextField tf = null; //确定按钮 private Button okbut = null; //多行的文本,显示文件列表的 private TextArea ta=null; //对话框容器 private Dialog dg =null; //对话框上的文字提示组件 private Label dla = null; //对话框上的确定按钮 private Button dbut = null; //屏幕的宽度和高度 private static final int WIDTH = Toolkit.getDefaultToolkit().getScreenSize().width; private static final int HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().height; public GuiDemo(){ init(); } private void init(){ //对窗体进行设置 frm = new Frame("文件列表功能"); frm.setBounds((WIDTH-550)/2, (HEIGHT-650)/2, 550, 650); frm.setBackground(new Color(204,232,207)); frm.setLayout(null); frm.setVisible(true); //对窗体组件进行设置。 //功能的使用说明 fla = new Label("请输入路径,之后会显示路径下的全部文件名列表"); fla.setBounds(40,30,500,30); frm.add(fla); //对输入的单行文本框进行设置 tf = new TextField(); tf.setBounds(40, 70, 420, 20); frm.add(tf); //对确定按钮进行设置 okbut = new Button("确定"); okbut.setBounds(490, 70, 40, 20); frm.add(okbut); //对多行文本进行设置 ta = new TextArea(); ta.setBounds(40, 105, 425, 480); ta.setEditable(false); frm.add(ta); //对话框的设置 // 构造一个最初不可见的 Dialog, // 它带有指定的所有者 Frame、标题和模式。 dg = new Dialog(frm,"错误的提示信息",true); dg.setBounds((WIDTH-600)/2, (HEIGHT-100)/2, 600, 100); dbut =new Button("确定"); dg.setLayout(null); myEvent(); } //定义专门的方法专门处理各种事件 private void myEvent(){ frm.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){ System.exit(0); } }); //点击确定按钮的事件 okbut.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { getListFile(); } }); //对话框中关闭 dg.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){closeDialog();} }); //按钮的关闭 dbut.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {closeDialog();} }); //输入文本框的键盘事件,按下回车键 tf.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e){ int code = e.getKeyCode(); if(code == KeyEvent.VK_ENTER){ getListFile(); } } }); } private void closeDialog(){ dg.setVisible(false); } private void getListFile(){ //判断在文本框中输入的内容,按下确定之后如果正确则直接输出文件列表 //获取文本框中输入的内容 String path = tf.getText(); //判空,健壮性判断 if("".equals(path)) return; //去掉空格方法 path = path.trim(); //创建文件类对象并传入字符串路径 File f = new File(path); //判断是不是文件 if(!f.exists()){ //对话框出现的时机 //Label 对象是一个可在容器中放置文本的组件。 //一个标签只显示一行只读文本。 //文本可由应用程序更改,但是用户不能直接对其进行编辑 dla = new Label("蠢货你输入的路径 "+ path + "不存在!请重新输入"); dla.setBackground(Color.cyan); dla.setBounds(150, 50, 400, 20); dg.add(dla); dbut.setBounds(270, 75, 50, 20); dg.add(dbut); dg.setVisible(true); }else if(!f.isAbsolute()){ //否则是文件,则获取文件名列表 dla = new Label("二货你输入的"+path +"是文件请重新输入"); dla.setBounds(150, 50, 400, 20); dg.add(dla); dbut.setBounds(200, 75, 50, 20); dg.add(dbut); dg.setVisible(true); }else { //否则就是正确的路径了 ta.setText(""); File [] file = f.listFiles(); for(File ff:file){ // ta.setText(ff+""); ta.append(ff+"\t\n"); } } } }   ASP.Net+Android+IOS开发------期待与您交流  详细请查看:http://edu.csdn.net    

上一篇:oracle job编写
下一篇:fzu 1894 志愿者选拔(单调队列)

相关文章

相关评论