代码改变世界

随笔档案-2013年11月

Swing之JList的使用

2013-11-28 17:58 by _cha1R, 8925 阅读, 收藏,
摘要: 大家在使用Swing的JList的时候一定会关心几个问题常见问题:1:怎么把JList弄到界面上去2:怎么往JList上放数据3:怎么监听JList里的项的双击事件,然后取出数据4:数据太多,怎么添加滚动条。这是几个常用功能,今天在这里做个总结。=========================================================================1:怎么把JList弄到界面上去2:怎么往JList上放数据这两个问题十分简单,我们要把一个JList放在JPanel上,只要设置好JList的数据、大小,就可以直接用JPanel的add方法添加上去。Lis 阅读全文

Swing之针对JTextArea的滚动条自动跟随。

2013-11-27 18:14 by _cha1R, 2076 阅读, 收藏,
摘要: 在使用JTextArea显示数据的时候,我们经常需要为它添加滚动条。至于如何添加滚动条,在上一篇文章已经说过了。这次说说如何让滚动条自动跟随在最后,这也是一个非常实用的功能。用法很简单,我们知道在JScrollPane添加JTextArea的代码是这样的:jScrollPane.setViewportView(textArea);它会返回一个JViewport对象,那么这个JViewport 是什么呢?我们来看看它的介绍:用于查看基础信息的“视口”或“观察孔”。在滚动时,移动部分称为视口。这好像通过照相机的取景器进行查看。将取景器向上移动会将图片顶部的内部移入视野,而底部的内容将消失。 也就是 阅读全文

JFileChooser添加文件过滤

2013-11-26 01:10 by _cha1R, 3647 阅读, 收藏,
摘要: 这是java的Swing里的一个选择文件的控件,我们要如何使用它?首先来看看JDKAPI的说明:public class JFileChooserextends JComponentimplements AccessibleJFileChooser 为用户选择文件提供了一种简单的机制。有关使用 JFileChooser 的更多信息,请参阅 《The Java Tutorial》 中的 How to Use File Choosers 一节。以下代码弹出一个针对用户主目录的文件选择器,其中只显示 .jpg 和 .gif 图像: JFileChooser chooser = new JFil... 阅读全文

Swing之滚动条

2013-11-22 23:07 by _cha1R, 4264 阅读, 收藏,
摘要: JScrollPane的创建。1、创建时指定内部控件,如: JScrollPane sp = new JScrollPane(img);2、创建后指出内部控件,如:scrollPane.setViewportView(panel1);常用的一些方法指定内部控件scrollPane.setViewportView(panel1);设定水平表头scrollPane.setColumnHeaderView(new JLabel("水平表头"));设定垂直表头scrollPane.setRowHeaderView(new JLabel("垂直表头"));设定显示 阅读全文

HttpClient怎么上传文件

2013-11-21 23:54 by _cha1R, 441 阅读, 收藏,
摘要: 在使用HttpClient时,怎么上传文件到服务器?很简单,只需要构建一个FileEntityFile file=new File("file.txt");FileEntity entity=new FileEntity(file); HttpPost httppost=new HttpPost("http://www.baidu.com/");httppost.setEntity(entity);然后提交这个Post即可:httpClient.execute(httppost); 阅读全文

Java 的swing.GroupLayout布局管理器的使用方法和实例

2013-11-21 01:16 by _cha1R, 260 阅读, 收藏,
摘要: GroupLayout是一个LayoutManager,它将组件按层次分组,以决定它们在Container中的位置。GroupLayout主要供生成器使用,但也可以手工编码。分组由Group类的实例来完成。GroupLayout支持两种组。串行组 (sequential group) 按顺序一个接一个地放置其子元素。并行组 (parallel group) 能够以四种方式对齐其子元素。每个组可以包含任意数量的元素,其中元素有Group、Component或间隙 (gap)。间隙可被视为一个具有最小大小、首选大小和最大大小的不可见组件。此外,GroupLayout还支持其值取自LayoutSty 阅读全文

JAVA多线程:什么时候使用哪种实现方式

2013-11-19 22:31 by _cha1R, 1729 阅读, 收藏,
摘要: 众所周知,JAVA里实现多线程有两种方式。一是继承Thread,覆盖run()方法:public class ThreadTest { public static void main(String[] args) { new MyThread().start(); }}class MyThread extends Thread { @Override public void run() { System.out.println("Thread.run()"); super.run(); }}二是实现Runnable接口,实... 阅读全文

如何写好单元测试(Junit测试)?

2013-11-15 18:02 by _cha1R, 3369 阅读, 收藏,
摘要: Junit可以说是在Java里面最具代表性的单元测试工具。虽然我们是程序员,但是在大环境下却经常要肩负起软件测试员的工作。而我们写的最多的测试一般都是JunitTest单元测试。但是Junit测试需要一定的规范才使得它更有意义,首先命名方面就有一定的规范:类名:测试类名为:Test类名如果要测试LoginService,那么你应该创建一个测试类叫 TestLoginService.方法名:测试方法名为:test要测试的方法(首字母大写)[_测试结果]如果要测试login,方法名为testLogin(),如果要测试login失败,方法名为testLogin_fail(),以上为Junit单元测试 阅读全文

设计接口时应该如何设计业务异常?

2013-11-15 03:54 by _cha1R, 1067 阅读, 收藏,
摘要: 本文为原创,转载请注明作者:cha1R(tanjiayqq)Java里异常分两种,一种是检查(checked)的,一种是非检查(unchecked)的。非检查以RuntimeException作为典型代表,它有一个特点就是我们可以不用捕捉它,如果没有捕捉它,它会一直往上抛直到main()方法处理,从而退出整个程序。注意如果是多线程的话,它并不会在main()方法终止程序,它会一直往上抛直到run()方法,而run()方法没有捕捉它的话会终止线程。作为业务异常,是要反馈给用户的,所以我们不希望发生任何终止线程或者终止程序的代码。所以定义业务异常,我们一般使用检查的(checked)异常,定义一个 阅读全文

使用Htmlunit上传文件

2013-11-14 00:26 by _cha1R, 659 阅读, 收藏,
摘要: 使用HtmlUnit模拟浏览器操作时,我们有时候要做一些上传文件操作。这就要利用HtmlFileInput这个类了。WebClient client = new WebClient();HtmlPage page = client.getPage("http://login.baidu.com/");通过page获得HtmlForm,再通过HtmlForm获得HtmlFileInputHtmlForm form = page.getFormByName("form");HtmlFileInput fileInput = form.getInputByNa 阅读全文

新手程序猿如何区分输入流和输出流?

2013-11-12 16:38 by _cha1R, 512 阅读, 收藏,
摘要: 当初作为一个新手的时候,认为输入流 就是输入点什么东西,输出流就是把输入的东西输出到屏幕上。。。。。当然这是新手的理解。后来我看过很多文章,明白了输入流和输出流其实是以内存为一个中间点,数据读入到内存叫输入流,从内存写到别的地方去叫输出流。但是刚明白这个概念,转个身就忘记了,于是又区分错。然后我研究出我一个特有的理解方法:以你的电脑为点,进来的数据流就是输入流,从你的电脑出去的数据量就是输出流。当然这只是便于区分而已。 阅读全文

Htmlunit / HttpClient 报 Cookie rejected 警告 的解决方案。

2013-11-08 17:19 by _cha1R, 2280 阅读, 收藏,
摘要: 今天下午用 HtmlUnit做新浪的登陆,由于新浪的多域名原因,出现了下面警告Cookie rejected: "[version: 0][name: U_TRS1][value: 000000e4.603e4743.527caa18.4f2f5b0d][domain: .sina.com.cn][path: /][expiry: Mon Nov 06 17:08:40 CST 2023]". Illegal domain attribute "sina.com.cn". Domain of origin: "account.weibo.com 阅读全文

Java里静态与非静态该什么情况下使用

2013-11-07 15:58 by _cha1R, 3954 阅读, 收藏,
摘要: 文章为原创,转载请说明来源,谢谢。作者:cha1R要搞清楚这个问题,我们需要清楚他们之间有什么区别,有什么优势和劣势。首先看看静态与非静态方法的区别:静态方法 | 实例方法1、静态方法可以通过“类.方法()”调用 | 要在对象实例化后使用对象调用2、只能使用静态变量和局部变量 | 所有变量都可以使用3、静态方法不能被子类重写 | 实例方法可以4、接口不能定义静态方法 | 实例方法可以从上面区别来看,静态方法只有一个优势,就是调用的时候不用实例化,其他情况下跟实例方法相比都是处于劣势。那么我们在什... 阅读全文

用Java模拟网站登录(二)

2013-11-06 17:23 by _cha1R, 11283 阅读, 收藏,
摘要: 本文为原创,转载请声明来源和作者,谢谢!作者:_cha1R上一篇文章《用Java模拟网站登录》介绍过,模拟一些如百度、QQ之类的网站登录?有两个方式,一是发送模拟请求,二是模拟浏览器操作。那么这次介绍第二种方式,模拟浏览器操作。这个可能知道的人不多,它并没有HttpClient那么出名。当初我在学习它的时候,在百度几乎搜索不到关于它的资料,幸亏我们还可以用Google。它叫htmlunit。htmlunit:A java GUI-Less browser, which allows high-level manipulation of web pages, such as filling fo 阅读全文