eclipse插件---WindowBuilder
来源:互联网 发布:泰坦尼克号真相 知乎 编辑:程序博客网 时间:2024/06/10 17:46
WindowBuilder:一款功能强大的Java GUI设计工具
JavaGUI开发可以算是个人弱项,或者说在学习Java的历程中人为地把SWT以及Swing这些知识忽略了,在这里迫切的拾起来,也算是出来混的总要还系列。
安装篇
官方网站
下载地址
在下载地址找到自己使用的eclipse的对应版本,然后粘贴到eclipse的安装新插件界面,回车,全选,下载。
然后下载失败= =,只好使用zip的方式下载了。
然后经过了3次的下载失败之后终于成功了。将zip文件解压缩,然后拖拽进eclipse根目录下的dropins文件夹中,重启eclipse,插件安装完毕。
随便新建一个项目
然后进入项目中
进入文件栏,右键鼠标->new->other,在搜索框输入window
可以看到WindowBuilder下的创建选项,直接创建Swing Designer下的应用。
就和创建一个新的类一样。
创建完成如下,点击Source就是代码模式,点击下方Design就可以进入设(jian)计(dan)模式
因为我也是第一次接触,需要快速上手,不过出于情怀向还是先打印一个helloword表示一波情怀
点击Design的初始界面如下
鼠标放到图标上就可以看到详细的介绍,而且详细介绍的所有单词都可以选中,如果是英文菜鸡的话整一个什么右键或者选中翻译的插件就可以,或许不会很坑?
选择一个布局,就像是一个属性一样可以给这个窗口赋予,图上所选中的是绝对位置,可以随便放置那些元素,自由度较高,还有其它的可以试试,选中后把鼠标放到窗口上会变成绿色还有一个加号,单击,属性赋予完成
然后随便拖拽了一个按钮到画布上面,修改了一下名称,我想尝试点击它的时候触发一个事件什么的。
使用篇
双击那个按钮会回到代码区域,看来它把我们的按钮对象称为btnHelloWorld。
可以看看这个对象有什么能够使用的方法。
JButton btnHelloWorld = new JButton("Hello World");
希望实现一个点击之后发起http请求去下载一下静态资源然后保存到本地硬盘中;恩。。貌似有点麻烦,不过再麻烦的东西经过细化之后也是能够实现的,作为一个Demo还是合格的吧。
然后直接点进了JButton
类的源码中,emmm,mmp继承关系还挺复杂的,不管了….有空再来研究下吧,现在还是得快速上手。
然后看了看我们的HelloWorld按钮对象,好多的方法 = = ,于是回到了UI界面,尼玛这个玩意竟然能够右键。。。
那么直接为这个对象创建一个鼠标单击事件。
创建事件时会回到代码编辑中,写一个测试用的输出
JButton btnHelloWorld = new JButton("Hello World"); btnHelloWorld.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { System.out.println("Hello World"); } });
在main所在的类中直接run as javaapp测试一下点击事件
emm效果好评。
那么接下来发起http请求吧~
点击按钮发起Http请求
因为是maven项目,所以直接在pom中导入jar包,什么都不管先把这几个jar包搞进来
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.1.29</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.3.3</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>fluent-hc</artifactId> <version>4.3.3</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> <version>4.3.3</version> </dependency>
为了好看,再另起一个包,下载工具类吧
package org.http;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;public class HttpDownLoadUtil { /** * 从网络Url中下载文件 * @param urlStr * @param fileName * @param savePath * @throws IOException */ public static void downLoadFromUrl(String urlStr,String fileName,String savePath) throws IOException{ URL url = new URL(urlStr); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); //设置超时间为3秒 conn.setConnectTimeout(3*1000); //防止屏蔽程序抓取而返回403错误 conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); //得到输入流 InputStream inputStream = conn.getInputStream(); //获取自己数组 byte[] getData = readInputStream(inputStream); //文件保存位置 File saveDir = new File(savePath); if(!saveDir.exists()){ saveDir.mkdir(); } File file = new File(saveDir+File.separator+fileName); FileOutputStream fos = new FileOutputStream(file); fos.write(getData); if(fos!=null){ fos.close(); } if(inputStream!=null){ inputStream.close(); } System.out.println("info:"+url+" download success"); } /** * 从输入流中获取字节数组 * @param inputStream * @return * @throws IOException */ public static byte[] readInputStream(InputStream inputStream) throws IOException { byte[] buffer = new byte[1024]; int len = 0; ByteArrayOutputStream bos = new ByteArrayOutputStream(); while((len = inputStream.read(buffer)) != -1) { bos.write(buffer, 0, len); } bos.close(); return bos.toByteArray(); } }
然后直接在Design界面右键按钮,进入操作界面,加入工具类就可以实现对应功能。
下载文件时输出下载信息到窗口
添加滚动条
JPane jp; JTextArea jt=new JTextArea(); JScrollPane js=new JScrollPane(jt);//分别设置水平和垂直滚动条自动出现js.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);js.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);//分别设置水平和垂直滚动条总是出现js.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);js.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);//分别设置水平和垂直滚动条总是隐藏js.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);js.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER); jp.add(js);`JPane jp;``JTextArea jt=``new` `JTextArea();``JScrollPane js=``new` `JScrollPane(jt);``//分别设置水平和垂直滚动条自动出现``js.setHorizontalScrollBarPolicy(``JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);``js.setVerticalScrollBarPolicy(``JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);``//分别设置水平和垂直滚动条总是出现``js.setHorizontalScrollBarPolicy(``JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);``js.setVerticalScrollBarPolicy(``JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);``//分别设置水平和垂直滚动条总是隐藏``js.setHorizontalScrollBarPolicy(``JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);``js.setVerticalScrollBarPolicy(``JScrollPane.VERTICAL_SCROLLBAR_NEVER);``jp.add(js);`
不允许随意修改窗口大小
window.frame.setResizable(false);
作为Demo就先学习到这里,之后再进行额外补充
- eclipse安装WindowBuilder 插件
- eclipse插件---WindowBuilder
- eclipse插件WindowBuilder安装方式
- eclipse安装WindowBuilder Pro插件
- 【eclipse】图形界面插件--安装windowbuilder
- Eclipse的WindowBuilder插件安装
- Eclipse WindowBuilder插件在线安装
- eclipse中安装WindowBuilder插件
- Eclipse 可视化插件WindowBuilder安装
- Eclipse安装使用WindowBuilder插件
- 替代Eclipse Visual editor插件的WindowBuilder
- Eclipse UI 开发插件 WindowBuilder Pro
- Eclipse中安装Java GUI插件WindowBuilder
- SWT界面开发Eclipse插件WindowBuilder
- java可视化编程-eclipse安装windowbuilder插件
- java可视化编程-eclipse安装windowbuilder插件
- Eclipse WindowBuilder 插件使用资料整理
- java可视化编程-eclipse安装windowbuilder插件
- Androidstudio中的快捷键
- OpenLayers快速开始
- 深入理解JavaScript定时机制和定时器注意问题
- Tensorflow实现第一个简单的机器学习demo
- ubuntu 16.04下搜狗输入法不能输入中文解决
- eclipse插件---WindowBuilder
- crontab用法与实例
- 计算机系统领域顶级会议--OSDI,SOSP
- txt日志功能
- C 标准库
- ccf201703-2
- jQuery基础总结(二)
- 简单二进制操作
- django -电子邮箱