代码改变世界

内部类访问外部类的数据成员

2013-12-06 10:00 by _cha1R, 393 阅读, 0 推荐, 收藏, 编辑
摘要:public class A{ public static void main(String[] args) { final int x=11,y=22; class B { void f(){System.out.println(x+y);} } B k=new B(); k.f(); } }我们都知道如果x,y变量不加上final,IDE会让我们无法通过代码检查,那为什么我们必须得加上final呢?方法中的局部变量,方法结束后这个变量就要释放掉,final保证这个变量始终指向... 阅读全文

HttpClient 4.0的使用

2013-12-05 09:07 by _cha1R, 369 阅读, 0 推荐, 收藏, 编辑
摘要:HttpClient程序包是一个实现了 HTTP协议的客户端编程工具包,要想熟练的掌握它,必须熟悉 HTTP协议。对于HTTP协议来说,无非就是用户请求数据,服务器端响应用户请求,并将内容结果返回给用户。HTTP1.1由以下几种请求组成:GET,HEAD, POST, PUT, DELETE, TRACE ,OPTIONS,因此对应到HttpClient程序包中分别用HttpGet,HttpHead, HttpPost, HttpPut, HttpDelete, HttpTrace, HttpOptions 这几个类来创建请求。所有的这些类均实现了HttpUriRequest接口,故可以作为e 阅读全文

Java new io

2013-12-03 23:39 by _cha1R, 297 阅读, 0 推荐, 收藏, 编辑
摘要:Java新IOBufferedReader它的一个特征:当BufferedReader读取输入流中的数据时,如果没有读到有效数据时,程序将在此处阻塞该线程的执行(使用InputStream的read方法从流中读取数据时,如果数据源中没有数据,它也会阻塞该线程),也就是前面介绍的输入、输出流都是阻塞式的输入、输出。不仅如此,传统的输入、输出流都是通过字节的移动来处理的(即使我们可以不直接去处理字节流,但底层的实现还是依赖于字节处理),也就是说面向流的输入/输出系统一次只能处理一个字节,因此面向流的输入/输出系统通常效率不高。从JDK1.4开始,Java提供了一系列改进的输入/输出处理的新特性,这 阅读全文

利用模板重构重复代码。

2013-12-02 22:53 by _cha1R, 237 阅读, 0 推荐, 收藏, 编辑
摘要:今天写代码的时候遇上了一个稍微有点不舒服的问题,我描述一下场景:代码发生在View层,首先大部分方法在执行之前都会检查一下是否登录,但是有少部分是不用登录的。而这些登录与不用登录的代码完全没必要分开两个方法,因为代码80%是相同的。所以这就需要做一个判断+提示 private void doSomething(){ //判断登陆 ... //如果没登陆,提示登录。 ... }那么我们会很自觉地把判断+提示抽成一个方法 private void doSomething(){ //判断登陆+提示 ... ... 阅读全文

Swing之带超链接的label简单实现。

2013-12-01 23:33 by _cha1R, 1235 阅读, 0 推荐, 收藏, 编辑
摘要:可能很多人不知道,Swing其实可以添加html代码的,利用这个特性,我们可以用Label做很多奇特效果,例如可以做一个带超链接的labelimport java.awt.Color;import java.awt.Cursor;import java.awt.Desktop;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.io.IOException;import java.net.MalformedURLException;import java.net.URISyntaxExc 阅读全文

Swing之JList的使用

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

JFileChooser添加文件过滤

2013-11-26 01:10 by _cha1R, 3503 阅读, 0 推荐, 收藏, 编辑
摘要:这是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, 4161 阅读, 0 推荐, 收藏, 编辑
摘要: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, 415 阅读, 0 推荐, 收藏, 编辑
摘要:在使用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); 阅读全文