Java Swing学习
在Java学习的过程中,我们时常会因为控制台程序的枯燥而失去了学习Java的乐趣,那么今天我们就开始学习Java的Swing。也就是GUI(Graphical user interface),在应用到GUI时,你就可以体会到编程的乐趣。
下面我就以我编写的一个程序结果为例,向大家阐述一下,在Java中如何建立窗口以及容器中组件的布局。程序运行结果如下:
首先从图片本身开始分析:我们可以看到一个窗口,在窗口上面有这么五个按钮,然后五个按钮分部在这个窗体的边界。于是有了边界布局。从程序上面我们也是运用这样的逻辑实现的。创建窗口运用到java.awt.Frame类
代码如下:
//调用父类的一个构造方法,创建一个标题为“边界布局”的窗口
super("边界布局");
//设置窗口的大小,以像素为单位
this.setSize(200,300);
//设置窗口的起始位置(左上角坐标)
this.setLocation(100,100);
//设置窗口关闭时的默认操作
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
然后是创建按钮
//实例化面板对象
p = new JPanel();
//创建一个边界布局管理器对象,并把布局设置到面板中
p.setLayout(new BorderLayout());
b1 = new JButton("Button 东");
b2 = new JButton("Button 西");
b3 = new JButton("Button 南");
b4 = new JButton("Button 北");
b5 = new JButton("Button 中");
最后是将按钮加入到面板中,并设置布局方式
p.add(b1,BorderLayout.EAST);
p.add(b2,BorderLayout.WEST);
p.add(b3,BorderLayout.SOUTH);
p.add(b4,BorderLayout.NORTH);
p.add(b5,BorderLayout.CENTER);
其中包含的类是java.awt.BorderLayout;主要的代码就是这些。
完整的代码如下:
package com.example;
import java.awt.BorderLayout;
import javax.swing.*; public class BorderLayoutDemo extends JFrame{
private JPanel p;
private JButton b1,b2,b3,b4,b5;
public BorderLayoutDemo(){
super("边界布局");
p = new JPanel();
//创建一个边界布局管理器对象,并把布局设置到面板中
p.setLayout(new BorderLayout());
b1 = new JButton("Button 东");
b2 = new JButton("Button 西");
b3 = new JButton("Button 南");
b4 = new JButton("Button 北");
b5 = new JButton("Button 中"); p.add(b1,BorderLayout.EAST);
p.add(b2,BorderLayout.WEST);
p.add(b3,BorderLayout.SOUTH);
p.add(b4,BorderLayout.NORTH);
p.add(b5,BorderLayout.CENTER); this.add(p);
this.setSize(1000,1000);
this.setLocation(100,100);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[]args){
BorderLayoutDemo f = new BorderLayoutDemo();
f.setVisible(true);
}
}
Java Swing学习的更多相关文章
- Java Swing学习笔记——创建JFrame
创建显示一个空JFrame import javax.swing.JFrame; public class JFrameDemo extends JFrame{ public JFrameDemo() ...
- Java Swing 资料(转载学习)
Swing图像界面简介:https://blog.csdn.net/xietansheng/article/details/72814531 Swing实用经验总结篇:https://blog.csd ...
- Java swing项目-图书管理系统(swing+mysql+jdbc) 总结
(一)java Swing的学习. (1)学习如何安装windowbuilder插件的安装. <1>在eclipse中点击help <2>在help的下拉选中选择install ...
- Java Swing快速构建窗体应用程序
以前接触java感觉其在桌面开发上,总是不太方便,没有一个好的拖拽界面布局工具,可以快速构建窗体. 最近学习了一下NetBeans IDE 8.1,感觉其窗体设计工具还是很不错的 , 就尝试一下做了一 ...
- Java Swing的进化
摘 要:Swing已是一个比较老的工具集了,在美观的用户界面出来之前需要开发很长时间.它缺少一些你在开发富UI时所需的组件.幸运地是,像 Substance,SwingX及Java Look-and_ ...
- Java Swing界面编程(1)
写多了jsp,对于页面式的系统已经写烦了,本人也開始着手于java swing的学习,作为菜鸟,仅想用博客记录下我的swing学习的历程.话不多说,首先開始我的第一个窗体化程序. 下面给出源码: pa ...
- Java Swing 使用总结(转载)
随笔转载自:此去经年ぢ 地址:http://www.cnblogs.com/FLFL/p/5369756.html 1. GUI编程引言 以前的学习当中,我们都使用的是命令交互方式: 例如:在 ...
- 客户端是选择Java Swing还是C# Winform
登录|注册 mentat的专栏 目录视图 摘要视图 订阅 [专家问答]韦玮:Python基础编程实战专题 [知识库]Swift资源大集合 [公告]博客新皮肤上线啦 ...
- Swing学习1——总体概述
以下来自于JDK1.6 一.Swing学习我划分为两个方面: 一方面Swing的界面设计部分,包括相关组件类的继承关系,组件的功能用途,布局管理: 1.首先继承关系上自上而下为 java.lang.O ...
随机推荐
- Java课程设计——计算器团队博客
1.团队名称.团队成员介绍(需要有照片) 1.1团队名称 707 1.2团队成员介绍 谢元将:组长 罗登宇:组员 王华俊:组员 2. 项目git地址 谢元将 罗登宇 王华俊 3. 项目git提交记录截 ...
- JAVA课程设计个人博客 学生成绩管理 201521123014 黄绍桦
1. 团队课程设计博客链接 http://www.cnblogs.com/kawajiang/p/7062407.html 2.个人负责模块或任务说明 本人主要负责DAO模式.添加和修改学生的信息功能 ...
- could not get next sequence value
1.触发事件 在电脑A上敲项目代码,数据库原始资料是直接使用别人写好的sql导入(建表和导入表数据等): 将电脑A上数据库的资料,使用PL/SQL Developer导出项目中所用表(此时未导出Ora ...
- python webdriver 环境搭建详解
学了一个月用java编写selenium driver 测试脚本,也将公司做的系统基本可用的模块做了一次自动化,虽然写的比较简陋,但是基本可用跑一遍,并用testNG生成了测试报告. 学习方式无非是: ...
- Mybatis学习(二)常用对象SqlSessionFactory和SqlSession
1.SqlSessionFactory SqlSeesionFactory对象是MyBatis的关键对象,它是一个数据库映射关系经过编译后的内存镜像. SqlSeesionFactory对象的实例可以 ...
- Node.js 异步异闻录
本文首发在个人博客:http://muyunyun.cn/posts/7b9fdc87/ 提到 Node.js, 我们脑海就会浮现异步.非阻塞.单线程等关键词,进一步我们还会想到 buffer.模块机 ...
- Java 编程思想 Chapter_14 类型信息
本章内容绕不开一个名词:RTTI(Run-time Type Identification) 运行时期的类型识别 知乎上有人推断作者是从C++中引入这个概念的,反正也无所谓,理解并能串联本章知识才是最 ...
- 一个完整的Node.js RESTful API
前言 这篇文章算是对Building APIs with Node.js这本书的一个总结.用Node.js写接口对我来说是很有用的,比如在项目初始阶段,可以快速的模拟网络请求.正因为它用js写的,跟i ...
- vue练手小项目--眼镜在线试戴
最近看到了一个眼镜在线试戴小项目使用纯js手写的,本人刚学习vue.js没多久,便试试用vue做做看了,还没完善. 其中包括初始图片加载,使用keywords查找,父子组件之间传递信息,子组件之间传递 ...
- 第4章 同步控制 Synchronization ----信号量(Semaphore)
许多文件中都会提到 semaphores(信号量),因为在电脑科学中它是最具历史的同步机制.它可以让你陷入理论的泥淖之中,教授们则喜欢问你一些有关于信号量的疑难杂 症.你可能不容易找到一些关于 sem ...