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编程实战的更多相关文章

  1. 第70讲:Scala界面GUI编程实战详解

    今天又学习了王家林老师的scala学习讲座第70讲,关于scala的界面编程,让我们来初步学习一下scala中界面编程的过程. 信息来源于 DT大数据梦工厂微信公众账号:DT_Spark 关注微信账号 ...

  2. Java 由浅入深GUI编程实战练习(二)

    一,项目简介 1.利用Java GUI 绘制图像界面,设置整体布局 2.编写一个随机数生成1~100的随机数 3.编写一个验证类,用于验证用户输入值与生成随机数是否相等并记录用户猜测次数,当用户猜测成 ...

  3. Java 由浅入深GUI编程实战练习(三)

    一,項目介紹 1.可以查看年,月,日等功能.能获取今天的日期,并且能够通过下拉年,月的列表. 2.当程序运行时,显示的时间是系统当前时间. 3.可以手动输入时间,确定后系统跳转到制定的时间. 4.提供 ...

  4. Java 由浅入深GUI编程实战练习(一)

    项目简介: 1.实现利用下拉菜单的方式选择发送快捷语句: 2.实现对留言信息内容的置顶处理以及至尾处理: 3.实现清屏处理或现实保留部分留言内容: 运行界面: 代码展示: import java.aw ...

  5. gui编程实战——qq聊天界面1

    public class testDemo_2 extends JFrame{ JTextArea jta=null; //多行文本框组件 JScrollPane jsp=null; //滚动文本框 ...

  6. Linux下的C编程实战

    Linux下的C编程实战(一) ――开发平台搭建 1.引言 Linux操作系统在服务器领域的应用和普及已经有较长的历史,这源于它的开源特点以及其超越Windows的安全性和稳定性.而近年来, Linu ...

  7. Linux下的编程实战【转】

    一篇比较不错的文章, 降到了 makefile make , gcc编译器,GDB调试器, Linux文件系统,Linux文件API,.C语言库函数(C库函数的文件操作实际上是独立于具体的操作系统平台 ...

  8. 【独立开发人员er Cocos2d-x实战 013】Cocos2dx 网络编程实战之星座运势

    学习cocos2d-x和cocos creator的圈子:cocos2d-x:436689827    cocos creator:124727696 本篇文章主要内容:jsoncpp的使用,Coco ...

  9. 第05组团队Github现场编程实战

    第05组团队Github现场编程实战 一.组员职责分工 组员 分工 卢欢(组长) 前后端接口设计 严喜 寻找相关资料 张火标 设计并描述界面原型 钟璐英 编写随笔 周华 填写完善文档 古力亚尔·艾山 ...

随机推荐

  1. PHP全栈学习笔记9

    php的会话控制,什么是会话控制,http等. 什么是会话控制思想,http协议. cookie 和 session http是超文本传输协议,是网络上最广泛的一种网络协议. http最大特点是无连接 ...

  2. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十五║初探SSR服务端渲染(个人博客二)

    缘起 时间真快,现在已经是这个系列教程的下半部 Vue 第 12 篇了,昨天我也简单思考了下,可能明天再来一篇,Vue 就基本告一段落了,因为什么呢,这里给大家说个题外话,当时写博文的时候,只是想给大 ...

  3. 【自然语言处理篇】--以NLTK为基础讲解自然语⾔处理的原理和基础知识

    一.前述 Python上著名的⾃然语⾔处理库⾃带语料库,词性分类库⾃带分类,分词,等等功能强⼤的社区⽀持,还有N多的简单版wrapper. 二.文本预处理 1.安装nltk pip install - ...

  4. Node.js学习(第一章:Node.js简介)

    Node.js是什么? Node.js 诞生于 2009 年,由 Joyent 的员工 Ryan Dahl 开发而成, 目前官网最新版本已经更新到 12.0.0版本,最新稳定的是10.15.3.Nod ...

  5. 生产线平衡问题的+Leapms线性规划方法

    知识点 第一类生产线平衡问题,第二类生产线平衡问题 整数线性规划模型,+Leapms模型,直接求解,CPLEX求解 装配生产线平衡问题 (The Assembly Line Balancing Pro ...

  6. C#语法——消息,MVVM的核心技术。

    在C#中消息有两个指向,一个指向Message,一个指向INotify.这里主要讲INotify. INotify也有人称之为[通知],不管叫消息还是通知,都是一个意思,就是传递信息. 消息的定义 I ...

  7. Ambiguous HTTP method Actions require an explicit HttpMethod binding for Swagger 2.0

    异常内容 NotSupportedException: Ambiguous HTTP method for action . Actions require an explicit HttpMetho ...

  8. Concat

    .net 对List使用Concat newlist=list.Concat(list2).ToList() JS的Concat则不用ToList(),一样要用个值去接 Concat返回是一个新数组, ...

  9. tomcat,httpd 日志格式说明

    tomcat 日志说明 配置文件server.xml 默认日志格式为 pattern="%h %l %u %t "%r" %s %b" 推荐使用 pattern ...

  10. 虚拟机安装CentOS7(一)

    软件环境 虚拟机:VMware Workstation Linux:CentOS-7-x86_64-DVD-1708.iso镜像文件 虚拟机所在电脑系统:win7 安装步骤 安装VMware 下载Li ...