GUI编程实战
1.拆分窗格:JSplistPane

package swing; /**
* swing 实战
*/
import java.awt.*;
import javax.swing.*; public class Myframe extends JFrame {
// 创建组件
JSplitPane jsp;
JList jlist;
JLabel jl1; public static void main(String[] args) {
Myframe myframe = new Myframe();
} public Myframe() {
String[] words = { "boy", "girl", "bird" };
jlist = new JList(words);
jl1 = new JLabel(new ImageIcon("images/下载.jpg"));
// 拆分窗格
jsp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, jlist, jl1); // 水平拆分
// this.add(jsp);
this.setSize(300, 300);
this.setLocation(100, 100);
this.setSize(300, 250);
this.setLocation(200, 200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
} }
2.QQ聊天界面:

package swing; /**
* QQ聊天界面 优化加上滑框
* @author Administrator
*
*/
import java.awt.*;
import javax.swing.*; public class Demo1 extends JFrame {
// 创建组件
JTextArea jta = null;// 多行文本框组件
JPanel jp1;
JComboBox jcb;
JTextField jtf;
JButton jb;
JScrollPane jsp; public static void main(String[] args) {
Demo1 demo = new Demo1();
} public Demo1() {
jta = new JTextArea();
jsp = new JScrollPane(jta);
jp1 = new JPanel();
String[] chatter = { "马云", "马化腾" };
jcb = new JComboBox(chatter);// 下拉框组件
jtf = new JTextField(10);
jb = new JButton("发送");
// 加组件
jp1.add(jcb);// 下拉框组件
jp1.add(jtf); // 文本框
jp1.add(jb);// 按钮 // 加组件
this.setTitle("QQ腾讯");
this.setIconImage((new ImageIcon("images/QQ.png")).getImage());
this.add(jsp);
this.add(jp1, BorderLayout.SOUTH);
this.setSize(300, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
} }
3.QQ用户登录界面(他日再来吧,,,完善慢慢扣)

import java.awt.*;
import javax.swing.*; public class Demo2 extends JFrame {
// 北部区域
JLabel jl1;
// 南部区域
JButton jb1, jb2, jb3;
JPanel jp1;
// 中部区域
JTabbedPane jtp;// 选项卡窗格
JPanel jp2, jp3, jp4;
JLabel jl2, jl3, jl4, jl5;
JTextField jtf;
JPasswordField jpf;
JButton jb4;
JCheckBox jcb1, jcb2; public static void main(String[] args) {
Demo2 demo = new Demo2();
} public Demo2() {
// 创建组件
jl2 = new JLabel("QQ号码", JLabel.CENTER);
jl3 = new JLabel("手机号码", JLabel.CENTER);
jl4 = new JLabel("电子邮箱", JLabel.CENTER);
jtf = new JTextField();
jb4 = new JButton(new ImageIcon("")); jcb1 = new JCheckBox("隐身登录");
jcb2 = new JCheckBox("记住密码"); // 北部区域
jl1 = new JLabel(new ImageIcon("src/images/qq1.jpg"));
// 南郊
jp1 = new JPanel();
jb1 = new JButton((new ImageIcon("src/images/qq.3.jpg")));
jb2 = new JButton((new ImageIcon("src/images/qq.3.jpg")));
jb3 = new JButton((new ImageIcon("src/images/qq.3.jpg")));
// 中部区域
jtp = new JTabbedPane();
jp2 = new JPanel();
jp3 = new JPanel();
jp3.setBackground(Color.RED);
// 将面板添加到选项卡窗口
jtp.add("QQ号码", jp2);
jtp.add("手机号码", jp3);
jtp.add("电子邮箱", jp4);
// 设置布局
jp2.setLayout(new GridLayout(3, 3));
// 添加组件
jp1.add(jb1);
jp1.add(jb2);
jp1.add(jb3); jp2.add(jl2);
jp2.add(jtf);
jp2.add(jb4);
jp2.add(jl3);
// jp2.add(jpf);
jp2.add(jl4);
jp2.add(jcb1);
jp2.add(jcb2);
// jp2.add(jl5); this.add(jp1, BorderLayout.SOUTH);
this.add(jl1, BorderLayout.NORTH);
this.add(jtp, BorderLayout.CENTER);
this.setSize(350, 400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
4.记事本界面
前端知识留到后面干吧!!!
GUI编程实战的更多相关文章
- 第70讲:Scala界面GUI编程实战详解
今天又学习了王家林老师的scala学习讲座第70讲,关于scala的界面编程,让我们来初步学习一下scala中界面编程的过程. 信息来源于 DT大数据梦工厂微信公众账号:DT_Spark 关注微信账号 ...
- Java 由浅入深GUI编程实战练习(二)
一,项目简介 1.利用Java GUI 绘制图像界面,设置整体布局 2.编写一个随机数生成1~100的随机数 3.编写一个验证类,用于验证用户输入值与生成随机数是否相等并记录用户猜测次数,当用户猜测成 ...
- Java 由浅入深GUI编程实战练习(三)
一,項目介紹 1.可以查看年,月,日等功能.能获取今天的日期,并且能够通过下拉年,月的列表. 2.当程序运行时,显示的时间是系统当前时间. 3.可以手动输入时间,确定后系统跳转到制定的时间. 4.提供 ...
- Java 由浅入深GUI编程实战练习(一)
项目简介: 1.实现利用下拉菜单的方式选择发送快捷语句: 2.实现对留言信息内容的置顶处理以及至尾处理: 3.实现清屏处理或现实保留部分留言内容: 运行界面: 代码展示: import java.aw ...
- gui编程实战——qq聊天界面1
public class testDemo_2 extends JFrame{ JTextArea jta=null; //多行文本框组件 JScrollPane jsp=null; //滚动文本框 ...
- Linux下的C编程实战
Linux下的C编程实战(一) ――开发平台搭建 1.引言 Linux操作系统在服务器领域的应用和普及已经有较长的历史,这源于它的开源特点以及其超越Windows的安全性和稳定性.而近年来, Linu ...
- Linux下的编程实战【转】
一篇比较不错的文章, 降到了 makefile make , gcc编译器,GDB调试器, Linux文件系统,Linux文件API,.C语言库函数(C库函数的文件操作实际上是独立于具体的操作系统平台 ...
- 【独立开发人员er Cocos2d-x实战 013】Cocos2dx 网络编程实战之星座运势
学习cocos2d-x和cocos creator的圈子:cocos2d-x:436689827 cocos creator:124727696 本篇文章主要内容:jsoncpp的使用,Coco ...
- 第05组团队Github现场编程实战
第05组团队Github现场编程实战 一.组员职责分工 组员 分工 卢欢(组长) 前后端接口设计 严喜 寻找相关资料 张火标 设计并描述界面原型 钟璐英 编写随笔 周华 填写完善文档 古力亚尔·艾山 ...
随机推荐
- 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之十三 || DTOs 对象映射使用,项目部署Windows+Linux完整版
更新 很多小伙伴在用 IIS 发布的时候,总是会有一些问题,文章下边 #autoid-6-0-0 我也简单的动图展示了,如何 publish 到 IIS 的过程,如果你能看懂,却发现自己的项目有问题的 ...
- vue 传值 概述 个人理解
1 父传子 子组件 props:[‘自定义属性名’] 父组件 v-bind:自定义属性名="值" 理解 子组件创建一个自定属性 父组件使用vue指令绑定到 自定义 ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十六 ║Vue基础:ES6初体验 & 模块化编程
缘起 昨天说到了<从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十五 ║ Vue前篇:JS对象&字面量&this>,通过总体来看,好像大家对这一块不是很 ...
- .net core自定义高性能的Web API服务网关
网关对于服务起到一个统一控制处理的作用,也便于客户端更好的调用:通过网关可以灵活地控制服务应用接口负载,故障迁移,安全控制,监控跟踪和日志处理等.由于网关在性能和可靠性上都要求非常严格,所以针对业务需 ...
- 4.3dotnet watch run「深入浅出ASP.NET Core系列」
希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,谢谢关注. dotnet run的麻烦 如果您使用的是vs code进行跨平台开发,那么dotnet watch run对你的 ...
- C# Net MVC 大文件下载几种方式、支持速度限制、资源占用小
上一篇我们说到大文件的分片下载.断点续传.秒传,有的博友就想看分片下载,我们也来总结一下下载的几种方式,写的比较片面,大家见谅^_^. 下载方式: 1.html超链接下载: 2.后台下载(四种方法:返 ...
- shared_ptr和动态数组
std::shared_ptr智能指针是c++11一个相当重要的特性,可以极大地将开发者从资源申请/释放的繁重劳动中解放出来. 然而直到c++17前std::shared_ptr都有一个严重的限制,那 ...
- Linux基本命令操作
3.1 Linux终端介绍.Shell提示符.Bash基本语法 3.1.1 登录LINUX终端 两种终端仿真器:1.GNOME桌面的GHOME Terminal : 2.KDE桌面的Konsole ...
- Redis入门简述
Redis 是一个开源的,使用 ANSI C (C语言)编写,高性能的 Key-Value(键值对) 的 NoSQL 数据库 NoSQL = Not Only SQL,意即“不仅仅是SQL”,是一项全 ...
- dubbo-源码分析Provider
Dubbo provider启动原理: 当我们的dubbo启动我们的spring容器时spring 初始化容器的时候会查找META-INF/spring.handles文件查找对应的Namespace ...