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现场编程实战 一.组员职责分工 组员 分工 卢欢(组长) 前后端接口设计 严喜 寻找相关资料 张火标 设计并描述界面原型 钟璐英 编写随笔 周华 填写完善文档 古力亚尔·艾山 ...
随机推荐
- centos6.7 配置Elasticsearch
Elasticsearch(以下简称ES),是一款开源的全文搜索引擎,获得了广泛的应用.这篇博客将介绍在centos6.7上如何配置ES. 一.安装JAVA环境 centos默认安装了JAVA环境,首 ...
- C++ 之 简单的五子棋AI程序
本人是大一新生,寒假无聊,抱着试试看的心态(没有想到可以完成),写了C++的简单五子棋程序,开心. 下面是效果图: 一.首先讲讲大致思路. 五子棋实现的基础: ...
- nginx报错 [error] open() “/usr/local/var/run/openresty.pid” failed (2: No such file or directory)
解决: 服务没有启动 使用start启动服务,因为没有start而直接使用stop或者reload报错这个问题: 如果方法一没有解决,使用方法二:-C 指定配置文件nginx.conf或者weblua ...
- 在linux(centos)系统安装redis教程
最近在切换服务器操作系统,简单记录一下 一.安装redis 1.检查是否有redis yum 源 yum install redis 2.下载fedora的epel仓库 yum install epe ...
- SQLI LABS Advanced Part(23-37) WriteUp
继续继续!这里是高级部分! less-23: 提示输入id参数,尝试: ?id=1' and '1 返回的结果与?id=1相同,所以可以直接利用了. ?id=1' order by 5# 可是页面返回 ...
- .NET Core中的一个接口多种实现的依赖注入与动态选择看这篇就够了
最近有个需求就是一个抽象仓储层接口方法需要SqlServer以及Oracle两种实现方式,为了灵活我在依赖注入的时候把这两种实现都给注入进了依赖注入容器中,但是在服务调用的时候总是获取到最后注入的那个 ...
- 遇到一道经典的java面试题
在文件 nameList.txt 中按下图格式存放着超过50万人的姓名与身份证信息.请使用您熟悉的编程语言(Java或C/C++)编写一段程序, 将出生日期落在1995年1月1日与1999年12月31 ...
- 多线程协作wait、notify、notifyAll方法简介理解使用 多线程中篇(十四)
在锁与监视器中有对wait和notify以及notifyAll进行了简单介绍 所有对象都有一个与之关联的锁与监视器 wait和notify以及notifyAll之所以是Object的方法就是因为任何一 ...
- [翻译]在Windows版或MacOS版的Microsoft Edge上安装一个谷歌浏览器拓展
原文:Install a Chrome Web Store extension on Microsoft Edge for Windows and MacOS 拓展阅读:What to expect ...
- jquery中的$.fn的用法
JQuery里的原型prototype分析 http://www.nowamagic.net/librarys/veda/detail/653 jquery中的$.fn的用法 ...