本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用.

**转载请注明 出自 : luogg的博客园 ** 谢谢配合!

GUI

容器

JFrame , JPanel , JScrollPane

组件

JButton按钮 , JLable文字 , JTextFiled但行文本框 , JTextArea多行文本框 ,JRadioButton单选按钮 , JCheckBox复选按钮 , JComboBox下拉列表.

JFrame窗口

  • setVisible(true): 设置窗体可见
  • setLocationRelativeTo(null);窗体居中显示
  • setResizable(false);设置窗体不可缩放
  • setLayout(null);绝对定位
  • setBackground(Color.CYAN);设置容器的背景颜色
  • 添加WindowListener监听器,复写windowClosing方法,System.exit(0)设置窗体自动关闭

JScrollPane滚动条

JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(180, 100, 390, 300);
jPanel.add(scrollPane);
//设置自动出现
scrollPane.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scrollPane.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
scrollPane.setViewportView(testContent);//行文本框添加滚动条

JButton按钮

setEnabled(false);默认不可点击

setBounds(x,y,width,height);设置绝对定位的xy和宽高

getText();返回按钮的文字

JLable文字

setFont(new Font("楷体",Font.PLAIN,15));设置文字字体,

setForeground(Color.RED);设置文字颜色

JTextFiled单行文本域

setEditable(false);设置文本域不可以编辑

setText();/getText();

setColumns();设置显示长度

JTextArea多行文本域

setColumns();/setRows();设置行列

textArea.setLineWrap(true);自动换行:

JRadioButton单选按钮

JRadioButton(String str);创建一个单选按钮, 并指定其文字

isSelected();返回是否被选中

setSelected(boolean b);设置是否被选中

ButtonGroup group = new ButtonGroup();

group.add(answerA);group.add(answerB);//将单选按钮ABCD放到按钮组中

JCheckBox复选按钮

方法和单选差不多

ComboBox下拉列表

addItem(String str);添加下拉项,也可以在创建comboBox的时候直接设置

setEditable();设置是否可用

getItemAt(int Index);获取对应索引下拉项

布局管理器

FlowLayout流式布局

BorderLayout

绝对定位布局JFrame.setLayout(null); setBounds(x,y,width,height);

事件监听器

事件处理类所在包:java.awt.event

事件源(组件):谁发生的

事件(event):发生的动作

事件处理者(Listener):谁时时刻刻的 盯着 事件源,注意事件源的一举一动

编程步骤:

1)创建组件对象,如

JFrame jframe = new JFrame();

2)创建一个事件处理类,它实现某种监听器接口

class DoJFrame implements WindowListener{…}

3)将监听器类对象注册到组件对象上

buttonOK.addActionListener(new DoJFrame ());

或者直接组件addXXXLinseter(){}

常用事件

窗口事件:WindowEvent 对应的监听者 WindowListener

点击事件:ActionEvent 对应的监听者 ActionListener

更换java图标

	ImageIcon img = new ImageIcon("imgs/luo.png");
jFrame.setIconImage(img.getImage());

怀念一下自己的项目

luogg_java学习_13_GUI的更多相关文章

  1. luogg_java学习_10_异常_反射

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 异常_反射 异常 异常就是导致程序中断执行的一段指令流 ...

  2. luogg_java学习_12_线程

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 线程 程序.进程.线程的概念 程序:我们用程序设计语言 ...

  3. luogg_java学习_09_泛型_集合

    这篇博客总结了半天,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 , 泛型 泛型介绍 1).类内部的属性的类型可以由外部决定: 2) ...

  4. luogg_java学习_08_设计模式_API

    这篇博客总结了1天整,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 , 设计模式 在长期开发过程中,为了解决某些固定问题, 总结出的 ...

  5. luogg_java学习_07_抽象类_接口_多态学习总结

    这篇博客总结了半天,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 , 抽象 一种专门用来做父类,被继承的. (模板) 格式: abs ...

  6. luogg_java学习_06_面向对象特性之封装和继承

    这篇博客总结了1天,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 , 因为前不久偶然发现某网站直接复制粘贴我的博客,交谈之后他们修改 ...

  7. luogg_java学习_05_面向对象(方法和类)

    这篇总结断断续续写了2天,内容来自Oracle java8编程入门官方教程和课外搜索总结,希望自己以后返回来看的时候都懂,也希望可以起到帮助初学者的作用. 转载请注明 出自 luogg的博客园 , 因 ...

  8. luogg_java学习_04_数组

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 数组 数组是多个相同类型数据的组合 //1.定义数组 ...

  9. luogg_java学习_03_流程控制及循环结构

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 程序流程控制 顺序结构 分支结构:if-else,sw ...

随机推荐

  1. 关于大型网站技术演进的思考(二十一)--网站静态化处理—web前端优化—下【终篇】(13)

    本篇继续web前端优化的讨论,开始我先讲个我所知道的一个故事,有家大型的企业顺应时代发展的潮流开始投身于互联网行业了,它们为此专门设立了一个事业部,不过该企业把这个事业部里的人事成本,系统运维成本特别 ...

  2. [Unity][Heap sort]用Unity动态演示堆排序的过程(How Heap Sort Works)

    [Unity][Heap sort]用Unity动态演示堆排序的过程 How Heap Sort Works 最近做了一个用Unity3D动态演示堆排序过程的程序. I've made this ap ...

  3. Azure PowerShell (4) 使用PowerShell管理多个订阅

    <Windows Azure Platform 系列文章目录> 笔者手上有两个Azure账户. - Azure Global (windowsazure.com)账户.有两个订阅. - 世 ...

  4. layout

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. Nginx服务器之 Nginx的基本配置

    本文使用 Linux centos系统 一.Nginx虚拟主机的配置 虚拟主机:通常情况下,为了使每个服务器可以供更多用户使用,可以将一个服务器分为很多虚拟的子服务器,每个子服务器都是互相独立的.这些 ...

  6. Zabbix实现微信报警

    一.  申请企业微信账号,申请地址 https://qy.weixin.qq.com/ 二. 登陆企业微信账 图一 图二 2.添加微信账号 图一 图二 完成以上步骤后 就完成了微信账号的添加 三.新建 ...

  7. Uiautomator 2.0之UiObject2类学习小记

    1. 基础动作 1.1. 相关API介绍 API 说明 clear() 清楚编辑框内的内容 click() 点击一个对象 clickAndWait(EventCondition<R> co ...

  8. SQL Server中In-Flight日志究竟是多少

        在SQL Server中,利用日志的WAL来保证关系数据库的持久性,但由于硬盘的特性,不可能使得每生成一条日志,就直接向磁盘写一次,因此日志会被缓存起来,到一定数据量才会写入磁盘.这部分已经生 ...

  9. 校验码(海明校验,CRC冗余校验,奇偶校验)

    循环冗余校验码 CRC码利用生成多项式为k个数据位产生r个校验位进行编码,其编码长度为n=k+r所以又称 (n,k)码. CRC码广泛应用于数据通信领域和磁介质存储系统中. CRC理论非常复杂,一般书 ...

  10. 安装Ubuntu时分区选择

    最近购买来一台二手笔记本.型号是:Dell Latitude D520.回来之后就装上来Ubuntu12.04,开始是安装的UbuntuKylin 13.04.不知道是机器配置不行,还是本身系统有点卡 ...