luogg_java学习_13_GUI
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用.
**转载请注明 出自 : 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的更多相关文章
- luogg_java学习_10_异常_反射
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 异常_反射 异常 异常就是导致程序中断执行的一段指令流 ...
- luogg_java学习_12_线程
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 线程 程序.进程.线程的概念 程序:我们用程序设计语言 ...
- luogg_java学习_09_泛型_集合
这篇博客总结了半天,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 , 泛型 泛型介绍 1).类内部的属性的类型可以由外部决定: 2) ...
- luogg_java学习_08_设计模式_API
这篇博客总结了1天整,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 , 设计模式 在长期开发过程中,为了解决某些固定问题, 总结出的 ...
- luogg_java学习_07_抽象类_接口_多态学习总结
这篇博客总结了半天,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 , 抽象 一种专门用来做父类,被继承的. (模板) 格式: abs ...
- luogg_java学习_06_面向对象特性之封装和继承
这篇博客总结了1天,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 , 因为前不久偶然发现某网站直接复制粘贴我的博客,交谈之后他们修改 ...
- luogg_java学习_05_面向对象(方法和类)
这篇总结断断续续写了2天,内容来自Oracle java8编程入门官方教程和课外搜索总结,希望自己以后返回来看的时候都懂,也希望可以起到帮助初学者的作用. 转载请注明 出自 luogg的博客园 , 因 ...
- luogg_java学习_04_数组
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 数组 数组是多个相同类型数据的组合 //1.定义数组 ...
- luogg_java学习_03_流程控制及循环结构
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 程序流程控制 顺序结构 分支结构:if-else,sw ...
随机推荐
- MySQL HASH分区
200 ? "200px" : this.width)!important;} --> 介绍 基于给定的分区个数,将数据分配到不同的分区,HASH分区只能针对整数进行HASH ...
- redis总结
redis总结 redis与memcached redis支持更多的数据结构 redis支持数据持久化 redis支持两种存储方式:snapshot(快照)和aof(append only mode) ...
- golang reflect
golang reflect go语言中reflect反射机制.详细原文:地址 接口值到反射对象 package main import ( "fmt" "reflect ...
- 《Entity Framework 6 Recipes》中文翻译系列 (18) -----第三章 查询之结果集扁平化和多属性分组
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-14 结果集扁平化 问题 你有一对多关联的两个实体,你想通过一个查询,获取关联 ...
- JAVAScript控制多个下拉框
方法:获取多选下拉框对象数组→循环判断option选项的selected属性(true为选中,false为未选中)→使用value属性取出选中项的值.实例演示如下: 这个东西我是在百度上查的,我为了方 ...
- 详解CSS的相对定位和绝对定位
CSS的相对定位和绝对定位通常情况下,我们元素的position属性的值默认为static 就是没有定位,元素出现在正常的文档流中,,这个时候你给这个元素设置的left,right,bottom,to ...
- 如何变相的绕过QQ邮箱订阅的繁琐核审
先看看正常流程:http://open.mail.qq.com/ 点击“接入订阅”==>申请接入==>登录一下 选择接入完全免费 大概流程就是这样: 下面我们说说快速接入的方法: 1.登录 ...
- 有意思的Python:开发和部署一览
我觉得在有时间的条件下,学习不同的开发语言,对于保持对技术的理解是有帮助的. Python是一门这样简单而且有趣的语言.网上资料已经比较多了.我这里主要对开发和部署环境所涉及的几个工具做些介绍. 1. ...
- EasyUI DataGrid 修改每页显示数量的最大值&&导出Grid到Excel
首先,最近在搞那个DataGrid的导出,发现,网上的用JS导出到本地的方法虽然可用,但是只能导出DataGrid当前的数据,例如说,DataGrid默认是最大显示50行,但是如果有多页,那么就无法显 ...
- Repository 返回 IQueryable?还是 IEnumerable?
这是一个很有意思的问题,我们一步一步来探讨,首先需要明确两个概念(来自 MSDN): IQueryable:提供对未指定数据类型的特定数据源的查询进行计算的功能. IEnumerable:公开枚举数, ...