java 编写小工具 尝试 学习(六)
1、java 布局管理器-布局管理器之null布局(空布局) 的 学习,参考大神教程:http://www.cnblogs.com/liaoliao/p/5009445.html
- import javax.swing.JButton;
- import javax.swing.JCheckBox;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JList;
- import javax.swing.JPanel;
- import javax.swing.JPasswordField;
- import javax.swing.JRadioButton;
- import javax.swing.JTextArea;
- import javax.swing.JTextField;
- import javax.swing.SwingConstants;
- import javax.swing.WindowConstants;
- public class SuoZhangFrame extends JFrame
- {
- public SuoZhangFrame(String title)
- {
- this.setTitle(title);//设置窗口标题
- //这句代码是当用户关闭窗口的时候关掉应用程序
- this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
- this.setSize(800, 600);//设置长和宽,最常见的屏幕分辨率 1366*768,2017年3月9日09:31:24
- this.setLocation(100,100);//设置起点位置,屏幕右上角 为(0,0)
- this.setVisible(true); //设置窗口的可见性
- //设置窗体为空布局,2017年3月9日14:04:26
- this.setLayout(null);
- //创建一个单行文本对象
- JTextField textfield =new JTextField("请输入要发送的消息");
- //添加这个 单行文本 对象 到面板上,2017年3月9日14:16:09
- //这里 实际是两步 ,先初始化一个容器,然后在这个容器上添加一个单行文本控件
- this.getContentPane().add(textfield);
- //设置 "单行文本"的精确位置(x,y,width,height)
- textfield.setBounds(60,30,180,35);
- //创建一个按钮1对象
- JButton button1 =new JButton("发送");
- //添加这个 按钮1 对象 到面板上,2017年3月9日14:16:09
- //这里 实际是两步 ,先初始化一个容器,然后在这个容器上添加一个单行文本控件
- this.getContentPane().add(button1);
- //设置 "按钮1"的精确位置(x,y,width,height)
- //注意 Y ==85 是大于 textfield的 Y 值+height 值,这样两个容器才不会重叠
- button1.setBounds(60,85,105,35);
- // //创建一个面板对象,这个面板就是一个组件容器
- // JPanel pan = new JPanel();
- //
- // //添加 容器
- // this.add(pan);
- //
- // //创建一个标签对象
- // JLabel label =new JLabel("测试标签",null,SwingConstants.RIGHT);
- //
- // //添加这个 标签 lable 对象 到面板上
- // pan.add(label);
- //
- // //创建一个单行文本对象
- // JTextField textfield =new JTextField("测试单行文本输入框");
- //
- // //添加这个 单行文本 对象 到面板上
- // pan.add(textfield);
- //
- // //创建一个 单行文本密码输入框 对象
- // JPasswordField passwordfield =new JPasswordField("123456");//默认密码 123456
- //
- // //添加这个 单行文本密码输入框 对象 到面板上
- // pan.add(passwordfield);
- //
- // //创建一个 显示纯文本的多行区域 对象
- // JTextArea textarea =new JTextArea("测试显示纯文本的多行区域");
- //
- // //添加这个 显示纯文本的多行区域 对象 到面板上
- // pan.add(textarea);
- //
- // //创建一个按钮对象
- // JButton button =new JButton("测试按钮");
- //
- // //添加这个 BUTTON 对象 到面板上
- // pan.add(button);
- //
- // //创建一个单选按钮对象
- // JRadioButton jradiobutton =new JRadioButton("测试单选按钮");
- //
- // //添加这个 jradiobutton 对象 到面板上
- // pan.add(jradiobutton);
- //
- // //创建一个多选按钮对象
- // JCheckBox jchackbox =new JCheckBox("测试多选按钮");
- //
- // //添加这个 jchackbox 对象 到面板上
- // pan.add(jchackbox);
- //创建一个列表对象,list 需要 设置内容,暂时还不会,2017年3月9日10:15:44
- //JList jlist =new JList("测试列表");
- //添加这个 jlist 对象 到面板上
- //pan.add(jlist);
- //创建一个下拉列表对象,JComboBox 需要 设置内容,暂时还不会,2017年3月9日10:15:44
- //JComboBox jcombobox =new JComboBox("测试下拉列表");
- //添加这个 jcombobox 对象 到面板上
- //pan.add(jcombobox);
- }
- }
- public class UsartControl
- {
- public static void main(String[] args)
- {
- // TODO Auto-generated method stub
- SuoZhangFrame frame = new SuoZhangFrame("网点控制器网络模拟器 V1.0");
- }
- }
运行效果图:
- import javax.swing.JButton;
- import javax.swing.JCheckBox;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JList;
- import javax.swing.JPanel;
- import javax.swing.JPasswordField;
- import javax.swing.JRadioButton;
- import javax.swing.JTextArea;
- import javax.swing.JTextField;
- import javax.swing.SwingConstants;
- import javax.swing.WindowConstants;
- public class SuoZhangFrame extends JFrame
- {
- public SuoZhangFrame(String title)
- {
- this.setTitle(title);//设置窗口标题
- //这句代码是当用户关闭窗口的时候关掉应用程序
- this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
- this.setSize(800, 600);//设置长和宽,最常见的屏幕分辨率 1366*768,2017年3月9日09:31:24
- this.setLocation(100,100);//设置起点位置,屏幕右上角 为(0,0)
- this.setVisible(true); //设置窗口的可见性
- //设置窗体为空布局,2017年3月9日14:04:26
- this.setLayout(null);
- //创建一个单行文本对象
- JTextField textfield =new JTextField("请输入要发送的消息");
- //添加这个 单行文本 对象 到面板上,2017年3月9日14:16:09
- //这里 实际是两步 ,先初始化一个容器,然后在这个容器上添加一个单行文本控件
- this.getContentPane().add(textfield);
- //设置 "单行文本"的精确位置(x,y,width,height)
- textfield.setBounds(60,30,180,35);
- //创建一个按钮1对象
- JButton button1 =new JButton("发送");
- //添加这个 按钮1 对象 到面板上,2017年3月9日14:16:09
- //这里 实际是两步 ,先初始化一个容器,然后在这个容器上添加一个按钮1
- this.getContentPane().add(button1);
- //设置 "按钮1"的精确位置(x,y,width,height)
- //注意 Y ==85 是大于 textfield的 Y 值+height 值,这样两个控件才不会重叠
- button1.setBounds(60,85,105,35);
- //创建一个标签对象
- JLabel label =new JLabel("接收消息显示区域");
- //添加这个 标签 对象 到面板上,2017年3月9日14:16:09
- //这里 实际是两步 ,先初始化一个容器,然后在这个容器上添加一个标签
- this.getContentPane().add(label);
- //设置 "标签对象"的精确位置(x,y,width,height)
- //注意 Y ==85 是大于 button1 的 Y 值+height 值,这样两个控件才不会重叠
- label.setBounds(60,130,105,35);
- //创建一个 显示纯文本的多行区域 对象
- JTextArea textarea =new JTextArea("接收数据显示区域,2017年3月9日15:10:07");
- //添加这个 显示纯文本的多行区域 对象 到面板上,2017年3月9日14:16:09
- //这里 实际是两步 ,先初始化一个容器,然后在这个容器上添加一个显示纯文本的多行区域
- this.getContentPane().add(textarea);
- //设置 "显示纯文本的多行区域"的精确位置(x,y,width,height)
- //注意 Y ==85 是大于 label 的 Y 值+height 值,这样两个控件才不会重叠
- textarea.setBounds(60,180,505,205);
- // //创建一个面板对象,这个面板就是一个组件容器
- // JPanel pan = new JPanel();
- //
- // //添加 容器
- // this.add(pan);
- //
- // //创建一个标签对象
- // JLabel label =new JLabel("测试标签",null,SwingConstants.RIGHT);
- //
- // //添加这个 标签 lable 对象 到面板上
- // pan.add(label);
- //
- // //创建一个单行文本对象
- // JTextField textfield =new JTextField("测试单行文本输入框");
- //
- // //添加这个 单行文本 对象 到面板上
- // pan.add(textfield);
- //
- // //创建一个 单行文本密码输入框 对象
- // JPasswordField passwordfield =new JPasswordField("123456");//默认密码 123456
- //
- // //添加这个 单行文本密码输入框 对象 到面板上
- // pan.add(passwordfield);
- //
- // //创建一个 显示纯文本的多行区域 对象
- // JTextArea textarea =new JTextArea("测试显示纯文本的多行区域");
- //
- // //添加这个 显示纯文本的多行区域 对象 到面板上
- // pan.add(textarea);
- //
- // //创建一个按钮对象
- // JButton button =new JButton("测试按钮");
- //
- // //添加这个 BUTTON 对象 到面板上
- // pan.add(button);
- //
- // //创建一个单选按钮对象
- // JRadioButton jradiobutton =new JRadioButton("测试单选按钮");
- //
- // //添加这个 jradiobutton 对象 到面板上
- // pan.add(jradiobutton);
- //
- // //创建一个多选按钮对象
- // JCheckBox jchackbox =new JCheckBox("测试多选按钮");
- //
- // //添加这个 jchackbox 对象 到面板上
- // pan.add(jchackbox);
- //创建一个列表对象,list 需要 设置内容,暂时还不会,2017年3月9日10:15:44
- //JList jlist =new JList("测试列表");
- //添加这个 jlist 对象 到面板上
- //pan.add(jlist);
- //创建一个下拉列表对象,JComboBox 需要 设置内容,暂时还不会,2017年3月9日10:15:44
- //JComboBox jcombobox =new JComboBox("测试下拉列表");
- //添加这个 jcombobox 对象 到面板上
- //pan.add(jcombobox);
- }
- }
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.JButton;
- import javax.swing.JCheckBox;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JList;
- import javax.swing.JPanel;
- import javax.swing.JPasswordField;
- import javax.swing.JRadioButton;
- import javax.swing.JTextArea;
- import javax.swing.JTextField;
- import javax.swing.SwingConstants;
- import javax.swing.WindowConstants;
- public class SuoZhangFrame extends JFrame
- {
- static int clickCounter=0;
- public SuoZhangFrame(String title)
- {
- this.setTitle(title);//设置窗口标题
- //这句代码是当用户关闭窗口的时候关掉应用程序
- this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
- this.setSize(800, 600);//设置长和宽,最常见的屏幕分辨率 1366*768,2017年3月9日09:31:24
- this.setLocation(100,100);//设置起点位置,屏幕右上角 为(0,0)
- this.setVisible(true); //设置窗口的可见性
- //设置窗体为空布局,2017年3月9日14:04:26
- this.setLayout(null);
- //创建一个单行文本对象
- JTextField textfield =new JTextField("请输入要发送的消息");
- //添加这个 单行文本 对象 到面板上,2017年3月9日14:16:09
- //这里 实际是两步 ,先初始化一个容器,然后在这个容器上添加一个单行文本控件
- this.getContentPane().add(textfield);
- //设置 "单行文本"的精确位置(x,y,width,height)
- textfield.setBounds(60,30,180,35);
- //创建一个按钮1对象
- JButton button1 =new JButton("发送");
- //添加这个 按钮1 对象 到面板上,2017年3月9日14:16:09
- //这里 实际是两步 ,先初始化一个容器,然后在这个容器上添加一个按钮1
- this.getContentPane().add(button1);
- //设置 "按钮1"的精确位置(x,y,width,height)
- //注意 Y ==85 是大于 textfield的 Y 值+height 值,这样两个控件才不会重叠
- button1.setBounds(60,85,105,35);
- //创建一个标签对象
- JLabel label =new JLabel("接收消息显示区域");
- //添加这个 标签 对象 到面板上,2017年3月9日14:16:09
- //这里 实际是两步 ,先初始化一个容器,然后在这个容器上添加一个标签
- this.getContentPane().add(label);
- //设置 "标签对象"的精确位置(x,y,width,height)
- //注意 Y ==130 是大于 button1 的 Y 值+height 值,这样两个控件才不会重叠
- label.setBounds(60,130,105,35);
- //创建一个 显示纯文本的多行区域 对象
- JTextArea textarea =new JTextArea("接收数据显示区域,2017年3月9日15:10:07");
- //添加这个 显示纯文本的多行区域 对象 到面板上,2017年3月9日14:16:09
- //这里 实际是两步 ,先初始化一个容器,然后在这个容器上添加一个显示纯文本的多行区域
- this.getContentPane().add(textarea);
- //设置 "显示纯文本的多行区域"的精确位置(x,y,width,height)
- //注意 Y ==180 是大于 label 的 Y 值+height 值,这样两个控件才不会重叠
- textarea.setBounds(60,180,505,205);
- //使用匿名的内部类,第一种事件监听方法
- button1.addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent e)
- {
- clickCounter++;
- // TODO Auto-generated method stub
- textarea.setText("我被点击了"+clickCounter);
- }
- });
- // //创建一个面板对象,这个面板就是一个组件容器
- // JPanel pan = new JPanel();
- //
- // //添加 容器
- // this.add(pan);
- //
- // //创建一个标签对象
- // JLabel label =new JLabel("测试标签",null,SwingConstants.RIGHT);
- //
- // //添加这个 标签 lable 对象 到面板上
- // pan.add(label);
- //
- // //创建一个单行文本对象
- // JTextField textfield =new JTextField("测试单行文本输入框");
- //
- // //添加这个 单行文本 对象 到面板上
- // pan.add(textfield);
- //
- // //创建一个 单行文本密码输入框 对象
- // JPasswordField passwordfield =new JPasswordField("123456");//默认密码 123456
- //
- // //添加这个 单行文本密码输入框 对象 到面板上
- // pan.add(passwordfield);
- //
- // //创建一个 显示纯文本的多行区域 对象
- // JTextArea textarea =new JTextArea("测试显示纯文本的多行区域");
- //
- // //添加这个 显示纯文本的多行区域 对象 到面板上
- // pan.add(textarea);
- //
- // //创建一个按钮对象
- // JButton button =new JButton("测试按钮");
- //
- // //添加这个 BUTTON 对象 到面板上
- // pan.add(button);
- //
- // //创建一个单选按钮对象
- // JRadioButton jradiobutton =new JRadioButton("测试单选按钮");
- //
- // //添加这个 jradiobutton 对象 到面板上
- // pan.add(jradiobutton);
- //
- // //创建一个多选按钮对象
- // JCheckBox jchackbox =new JCheckBox("测试多选按钮");
- //
- // //添加这个 jchackbox 对象 到面板上
- // pan.add(jchackbox);
- //创建一个列表对象,list 需要 设置内容,暂时还不会,2017年3月9日10:15:44
- //JList jlist =new JList("测试列表");
- //添加这个 jlist 对象 到面板上
- //pan.add(jlist);
- //创建一个下拉列表对象,JComboBox 需要 设置内容,暂时还不会,2017年3月9日10:15:44
- //JComboBox jcombobox =new JComboBox("测试下拉列表");
- //添加这个 jcombobox 对象 到面板上
- //pan.add(jcombobox);
- }
- }
java 编写小工具 尝试 学习(六)的更多相关文章
- java 编写小工具 尝试 学习(七)
1.在java 编写小工具 尝试 学习(六)里学会了,控件 的随意摆放, 以及大小(x,y,width,height),又根据前面学习的按钮 被点击 的事件监控 的方法 ,点击 按钮 在显示区域显示“ ...
- java 编写小工具 尝试 学习(一)
1.单片机 调试经常 需要 用 串口 工具 发送 一些 特定的 协议或者 命令,每次要 翻译 写成 2进制 很麻烦 ,因此 打算自己用 java 写一个 工具 方便自己 调试,2017年3月2 ...
- java 编写小工具 尝试 学习(四)
1.在新建 的窗口上 ,添加了一个按钮后 ,给 按钮添加一个事件 ,意思就是 点击按钮后 发生什么事情!不废话 贴图 贴 代码! package jFrameDemo; import java.aw ...
- java 编写小工具 尝试 学习(三)
1.在 新建的 窗口上 添加 按钮 ,不废话 ,贴代码和 截图 package jFrameDemo; import java.awt.event.ActionEvent; import jav ...
- java 编写小工具 尝试 学习(二)
1. 新建一个窗口 ,代码 如下 ,截图 如下 package jFrameDemo; import javax.swing.JFrame; import javax.swing.WindowCon ...
- java 编写小工具 尝试 学习(五)
1.今天 学习 标签 的 控件 的使用 ,学习 视频教程 参考 :http://edu.51cto.com/lesson/id-17733.html 常用控件如下截图: import javax.s ...
- (数据科学学习手札80)用Python编写小工具下载OSM路网数据
本文对应脚本已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 我们平时在数据可视化或空间数据分析的过程中经常会 ...
- 三个 DAL 相关的Java代码小工具
最近在做 DAL (Data Access Layer 数据访问层) 的服务化,发现有不少地方是人工编写比较繁琐的,因此写了几个小工具来完成. 1. 从 DAO 类自动生成 CoreService ...
- Java 编写小程序,下载指定网页上的所有图片
使用Java编写一个小程序,可以根据指定的网页地址,下载网页中的所有图片:使用到网络编程.线程池.IO和UUID的技术.具体代码如下: import java.io.File; import java ...
随机推荐
- hdu 1011 Starship Troopers 经典的树形DP ****
Starship Troopers Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- K2P断流问题
本帖最后由 yufei8051 于 2019-3-15 15:29 编辑 感谢 “zhc887”的指点,把这3个文件删除后(后面大神说不是删除是清除,我直接删掉貌似也正常,建议听大神的)从这两天的使用 ...
- 前端使用nginx上传文件时,进度获取不对
在使用iview时,上传文件获取进度时onUploadProgress返回数据不对. 原因是开启了nginx代理,本地上传时先传到本地nginx然后在传到服务器,导致获取进度不对 解决:在nginx的 ...
- js内存空间详细图解-笔记
原文参考http://mp.weixin.qq.com/s/NGqdjhoU3MR9LD0yH6tKIw 栈-先进后出堆-类比成书于书架(形象),只要知道Key就可以找到value 基础数据类型(Un ...
- Easyui datagrid加载数据时默认全选的问题
问题描述: 最近使用 Easyui datagrid 展示数据,之前一直使用很正常,今天出现了一个怪异问题 加载数据后,只要点击选中列 ck 的任意行或多行,再刷新时整个datagrid的所有数据都 ...
- Python爬虫编程常见问题解决方法
Python爬虫编程常见问题解决方法: 1.通用的解决方案: [按住Ctrl键不送松],同时用鼠标点击[方法名],查看文档 2.TypeError: POST data should be bytes ...
- Tomcat下JDBC连接样例
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- mac apache服务器
//开启apache: sudo apachectl start //重启apache: sudo apachectl restart //关闭apache: sudo apachectl stop ...
- js前台检测上传图片大小的总结
最近一直在做上传图片的前端检测,不通过后台就完成这个动作.但实际是,实际效果差强人意. html5的fileApi出来后,对文件的处理才变得方便了些,对它的简单介绍可以看我的前面的博客.现在支持的浏览 ...
- python多进程与协程
1.进程的概念 什么是进程->CPU在同一时刻只能处理一个任务,只是因为cpu执行速度很快. cpu在各个任务之间来回的进行切换. 进程的概念:正在进行的一个过程或者说一个任务,而负责执行任务的 ...