GUI程序开发_gui开发-程序员宅基地

技术标签: java  eclipse  

 11.1 认识GUI和Swing

        GUI:图形用户界面(Graphics User Interface, GUI),是指采用图形方式显示的计算机操作用户界面。 java对GUI的开发有两套版本的API。

        AWT:java.awt包中提供的(Abstract Window Toolkit,AWT)抽象窗口工具包界面开发API,适用于早期JAVA版本。【有同位体】

Swing:javax.swing包中提供的Swing界面开发API,功能比AWT更加强大,是java2推出的,成为JavaGUI开发的首选,其中,Java中的“x”是扩展的意思。【无同位体】

11.2 使用窗口

11.2.1 JFrame类开发窗口

        构造方法:

所有方法:

        setTitle(String title)  //设置标题

        setLocation(int x,int y)  //设置在屏幕上的位置

        setSize(int width,int height)  //设置大小

        setVisible(boolean b)  //设置可见性

        setRestzable(true)  //设置可改大小

        Rack()  //窗体大小随组件大小自动变化

        setLocation(int x,int y)  //设置窗口左上角顶点位置

注意:setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)  //单击窗口右上角的“关闭”按钮,窗口消失,程序结束。其中JFrame.EXIT_ON_CLOSE等价于3;

11.2.2 其他类开发窗口

        JDialog类开发窗口:创建的窗口是一个对话框。

11.3  使用Component控件

说明:1.面板和窗口称为容器对象。使用add方法可以在容器上添加容器,也可以添加控件。

  1. 由于界面有可能比较复杂,所以一般不将界面的生成过程写在主函数中,而是写一个继承JFrame,在其构造函数中初始化界面。

11.3.2  标签、按钮、文本框、多行文本框和密码框

1.标签  public JLable(String text)

2.按钮  public JButton(String text)

方法:setToolTipText(String text)  //设置按钮提示信息

  setEnabled(false)  //设置按钮不可用

文本框  public JTextField(int columns)

3.多行文本框  JTextArea(int rows,int columns)

注意:默认的文本框没有滚动条,如果要使用滚动条,需要使用JScrollPane类,将JTextArea对象传入其构造函数,然后在界面上添加JScrollPane对象。

4.密码框  public JPasswordFiekd(int columns)

11.3.3  单选按钮、下拉列表框和复选框

1.单选按钮  public JRadioButton(String text,boolean selected)

注意:用户可以使用javax.swing.ButtonGroup实现,改类有一个add函数,能够将多个单选按钮加入,看成一组。但是ButtonGroup不能被加到界面上,用户要将单选按钮一个一个地加到界面上。

2.下拉列表框  public JComboBox()

注意:实例化一个下拉列表框,其中的选项可用其addItem函数添加.

3.复选框  JCheckBox(String text,boolean selected)  //实例化一个复选框,第一个参数为复选框标题,第二个参数为选择状态。

11.3.4  菜单

1.public JMenuBar()  //实例化一个菜单条

引申:使用JFrame的setJMenuBar(JMenuBar menubar)方法可以将菜单条添加到界面上

2.public JMenu(String s)  //菜单文本,放入菜单条上

3.public JMenuItem(String s)  //菜单项文本,放入菜单文本上

11.4  颜色、字体、和图片的使用

11.4.1  使用颜色

构造函数:public Color(int r,int g,int b)

设置背景颜色:public void setBackground(Color c)

设置前景颜色:public void setForeground(Color c)

11.4.2  使用字体

构造函数:public Font(String name,int style,int size)  //设置字体名称,字体风格,字体大小

引申:字体风格——Font.PLAIN(普通),Font.BOLD(粗体),Font.ITALIC(斜体),如果同时使用多种,则用“|”隔开,如Font.BOLD|Font.ITALIC表示粗斜体。

方法:public void setFont(Font f)  //设置字体

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_61071742/article/details/124733254

智能推荐

最新大猿人中控充值系统 免授权学习版 支持公众号H5、分销等功能_猿人充值系统 3.2 漏洞-程序员宅基地

文章浏览阅读1.5k次。简介:最新大猿人中控充值系统 免授权破解版 支持公众号H5、分销等功能功能简介:大猿人中控系统目前是市面上用的最多的电话费充值中控系统,支持代理分销、公众号H5、API接口对接等功能,也是目前最完善的一款中控系统,前端全开源,已破解免授权!配置环境:php7.3 + Redis搭建教程:1、首先吧大猿人中控系统压缩包上传到服务器内进行解压,然后吧数据库文件导入数据库内2、修改/application/database.php 文件进行配置链接数据库。_猿人充值系统 3.2 漏洞

创建异形窗口[3]-程序员宅基地

文章浏览阅读81次。为什么80%的码农都做不了架构师?>>> ..._gtk3 异形窗口

C语言:验证下列矩阵是否为魔方阵。魔方阵是每一行、每一列、主副对角线上的元素之和都是相等的矩阵。-程序员宅基地

文章浏览阅读2.6k次。#include <stdio.h>#include <string.h>#include <string.h>int main(void){ int a[5][5] = {17,24,1,8,15, 23,5,7,14,16, 4,6,13,20,22, 10,12,19,21,3, 11,18,25._验证下列矩阵是否为魔方阵。魔方阵是每一行、每一列、主副对角线上的元素之和都是

Django疫情返乡人员管理系统-11411,计算机毕业设计开题选题+程序定制+论文书写+答辩ppt书写-原创(题目+编号)的定制程序-程序员宅基地

文章浏览阅读51次。免费领取项目源码,请关注赞收藏并私信博主,谢谢-本课题研究的疫情返乡人员管理系统,主要功能模块包括:防疫须知、疫情用品、返乡报备、用户反馈管理等,主要是主要采取Mysql作为后台数据的主要存储单元,运用软件工程原理和开发方法,采用Python的Django技术构建的,实现了系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。

oracle序列中cache和nocache-程序员宅基地

文章浏览阅读1.1k次。首先我这篇博客的内容是我不知道oracle里的 cache 是什么,结果越查越多。。。“序列的cache通常为 20,但在需要依据序列值判断创建的先后顺序时必须是 NOCACHE”,关于这句话,是公司的数据库规范里提到的一句话,但是我感觉nocache会导致的问题好像还不少,所以我很纠结,但是除了根据序列值判断创建的先后顺序外,还有其他的靠谱的方式来判断先后顺序吗?难道入库时间不可以吗..._数据库中的nocache是什么意思

C语言那些事之字符串操作_c语言编辑多行源代码中的字符串-程序员宅基地

文章浏览阅读193次。一、字符串多行书写有时为了书写阅读方便,需要将一大串的字符串写成多行举例源码 MyUart_Printf("moduleConfigParams=>\r\n"\ "\tuartBaudrate:%s\r\n"\ "\tuartStopbit:%s\r\n"\ "\tparityType:%s\r\n"\ "\trfC..._c语言编辑多行源代码中的字符串

随便推点

Web性能优化:图片优化-程序员宅基地

文章浏览阅读71次。HTTP Archieve有个统计,图片内容已经占到了互联网内容总量的62%,也就是说超过一半的流量和时间都用来下载图片。从性能优化的角度看,图片也绝对是优化的热点和重点之一,Google PageSpeed或者Yahoo的14条性能优化规则无不把图片优化作为重要的优化手段,本文覆盖了Web图片优化的方方面面,从基本的图片格式选择、到尚未被广泛支持的响应式图片均有所提及。Google Web ..._jpegoptim optipng pngquant gifsicle

openGauss 向量化引擎-程序员宅基地

文章浏览阅读249次,点赞4次,收藏4次。openGauss提供向量化引擎,通常用在OLAP数据仓库类系统。主要是因为分析型系统通常是数据处理密集型,基本上都是采用顺序方式来访问表中大部分的数据,然后再进行计算,最后将计算结果输出给用户。

云锁linux宝塔安装,【最新版】宝塔面板下为Nginx自编译云锁Web防护模块教程-程序员宅基地

文章浏览阅读639次。相信很多站长在使用宝塔面板的同时也会安装云锁用于加固服务器安全性,不过有时因为Nginx版本过高等问题导致安装云锁时无法自动安装Web防护模块,所以还需要我们在Linux系统下额外将云锁Web防护模块编译进Nginx才可以。之前也转载过一篇一、上传云锁Web防护模块压缩包并解压Ps:其实宝塔添加模块功能里可以通过配置shell脚本实现这些前置准备,但我还是喜欢用手动的方式上传,这样使步骤看起来更直..._宝塔 云锁自编译 测试

Android 笔记:Error:A problem occurred configuring project ':app'.-程序员宅基地

文章浏览阅读8.4k次。原文作者:雪飘碧鸳 在github上导入项目,或其他地方导入Android Studio,出现Error:A problem occurred configuring project ‘:app’.的错误。其实这种错误有很多种原因,需要对每种情况进行不同的处理才行,这里说的一种情况是JNI的情况,即该项目使用到C/C++库,此时需要引入NDK才行,先看下错误提示Gradle ‘trunk’ ..._error:a problem occurred configuring project ':app'.

dataframe的groupby,agg,unstack应用_group by unstack-程序员宅基地

文章浏览阅读603次。groupby一个索引的比较简单,这里主要讲两个索引的:这里先设dataframe为下图然后根据第0列和第1列来进行分组,再对第二列进行数量统计,这里用了nunique函数来进行数量统计上图中最上面的2表示是根据原表的第3列即序号2的那一列使用的agg函数得到的结果。unstack是把一维表转换成二维表,即把(0,1)这对分组条件分别写成表的行列索引,一一对应agg函数得到的结果,如下图:stack是把二维表转换成一维表,类似花括号形式(就像是思维导图一层一层括出去),第一列写上原本的行索引_group by unstack

树莓派宝塔搭建NAS私有云盘nextcloud_宝塔做nas-程序员宅基地

文章浏览阅读2.2k次。宝塔新建网站:假设文件夹根目录为/home/nextcloud创建FTP,数据集。并且选择php版本。删除文件夹根目录/home/nextcloud下的两个html文件。下载nextcloud文件:官网链接可以使用wget:wget https://download.nextcloud.com/server/releases/nextcloud-20.0.0.zip,或者本地端下载后拖过去。多线程下载:sudo apt install axel axel -n 20 ht.._宝塔做nas

推荐文章

热门文章

相关标签