代码改变世界

随笔分类 -  Java

update list get()方法

2013-01-05 09:22 by coffeescript, 754 阅读, 收藏,
摘要: 在编写网站的增删改查时,经常要前台后台互相传数据。更新操作时有时候查询出的数据只返回一行结果,这时将结果存入一定的数据结构中不能直接存入,否则前台读取会出错,采用list.get(index)方法,如果只返回一行数据,写作list.get(0)。 阅读全文

Java 向上转型与向下转型

2012-10-26 01:07 by coffeescript, 203 阅读, 收藏,
摘要: 向上转型,即将子类对象转换为父类对象View Code 1 class A2 {3 A()4 }5 class B extends A6 {7 B()8 }在主函数中A a=new B();//向上转型此时父类对象a可以访问子类中从父类继承或重写的方法,但无法访问子类新增加的方法。向下转型即把父类对象转换为子类对象当父类是子类的实例时B b=(B)a;//向下转型将父类对象转换为子类对象时,先要判断父类对象是否是子类的实例,如果不是却执行该语句,会抛出ClassCastException异常.即类转型异常.向下转型需要强制转换。向下转型之前需要先进行向上转型。 阅读全文

Java 输入时按钮可用

2012-10-26 01:03 by coffeescript, 238 阅读, 收藏,
摘要: temp是临时变量,ta是TextArea对象View Code 1 public void enableButtons(){2 boolean clipped=(temp!=null)&&(temp.length()>0);3 bPaste.setEnabled(clipped);4 boolean selected=ta.getSelectionStart()!=ta.getSelectionEnd();5 bCut.setEnabled(selected);6 bCopy.setEnabled(selected);7 bDelete.set... 阅读全文

Java AWT PopupMenu

2012-10-26 01:02 by coffeescript, 342 阅读, 收藏,
摘要: 实现弹出菜单时需要注册一个监听类继承MouseAdapter类并实现ActionListener接口,ActionListener就不多说了,继承了MouseAdapter之后需要重写mousePressed()和mouseReleased()两个方法.用isPopupTrigger()来检测此当前鼠标事件是否为所在平台的弹出菜单触发事件,如果是则返回true.eg.View Code 1 public void mouseReleased(MouseEvent e){2 if(isPopupTrigger()){3 pm.show(message,e.getX(),e... 阅读全文

Java AWT Dialog

2012-10-26 01:01 by coffeescript, 1664 阅读, 收藏,
摘要: 针对类内声明的私有变量在main()方法中无法访问的问题,可以先声明一个createUI()方法,然后在main()中实例化类对象并调用方法。Dialog类也是容器类,所以可以添加Panel,可以用setSize()和setLocation()方法,一般采取先声明一个Dialog dialog私有对象,然后创建一个createDialog()方法,返回值是Dialog类型,在createUI()方法里通过主类调用createDialog()方法实例化。tips:1.Dialog是顶级窗口,但必须依赖一个其他的窗口而不能单独存在,所依赖的窗口称为对话框的所有者,通常是Frame或其他的Dialo 阅读全文

getSource()

2012-10-26 00:59 by coffeescript, 2311 阅读, 收藏,
摘要: ActionEvent 的 getSource() 继承自 EventObject;public Object getSource()调用时e.getSource(),返回的是Obeject类型,强制转换为你的组件类型,以Scrollbar为例String sb_name=((Scrollbar)e.getSource()).getName(); 阅读全文

Java IO

2012-10-26 00:58 by coffeescript, 268 阅读, 收藏,
摘要: 1.I/O数据流的分类方式有多种: 1.1按数据流动的方向,可分为输入流(Input Stream)和输出流(Output Stream). 输入流只能从中读取数据,而不能向其写入数据,输出流只能向其写出数据,而不能从中读取数据。 1.2.根据数据流所关联的是数据源还是其他数据流,可分为节点流(Node Stream)和处理流(Processing Stream) 节点流就是直接连接到数据源的I/O流,而处理流是对一个已存在的流的连接和封装。实现增强的数据读/写功能。eg.使用节点流FileReader关联到要读取的数据源文件,然后使用处理流BufferedReader封装/连... 阅读全文

Java 加载图片的两种方法

2012-10-26 00:56 by coffeescript, 27172 阅读, 收藏,
摘要: 1.使用Toolkit.getDefaultToolkit().getImage()方法View Code 1 View Code 2 3 import javax.swing.JFrame; 4 import java.awt.*; 5 import java.awt.event.*; 6 7 public class TestLoadImage{ 8 public static void main(String[] args){ 9 JFrame f=new JFrame();10 MyCanvas mc=new MyCanvas();11 ... 阅读全文

Java 字符串剪切

2012-10-26 00:53 by coffeescript, 971 阅读, 收藏,
摘要: String类在处理字符串时用的比较多的是这两个方法:1.substring(int beginIndex) 截取从beiginIndex为开始到字符串尾的子字符串 String s="unhappy"; s.substring(2)的结果为"happy"2.substring(int beginIndex,int endIndex) 截取从beiginIndex开始到endIndex-1结束的子字符串,字符串长度为endIndex-beginIndex String s="hamburger"; s.substring(4,8)的结 阅读全文

Java Thread Join

2012-10-26 00:51 by coffeescript, 179 阅读, 收藏,
摘要: Wait this thread to die;将A线程加入到B线程中,直到A线程结束,B线程继续运行。代码实例:View Code 1 public class TestJoin{ 2 public static void main(String[] args){ 3 JoinThread jt=new JoinThread(); 4 Thread t=new Thread(jt); 5 t.start(); 6 int i=0; 7 while(i<200){ 8 ... 阅读全文

Java 线程实现生产者和消费者问题

2012-10-26 00:49 by coffeescript, 322 阅读, 收藏,
摘要: 线程安全定义三个类,店员类(TestClerk.java),假设店员每次只能持有一个商品。生产者类(TestProducer.java),消费者类(TestConsumer.java),当店员持有商品为-1(即没有商品)时,通知消费者等待,当店员持有商品不等于-1(即持有1件或多件商品)时,通知生产者等待。TestClerk.javaView Code 1 View Code 2 3 public class TestClerk{ 4 private int product=-1; 5 6 public synchronized void setProduct(... 阅读全文

图片浏览器一些关键方法

2012-10-26 00:46 by coffeescript, 148 阅读, 收藏,
摘要: View Code 1 public void paint(Graphics g){2 super.paint(g);3 Graphics2D g2d=(Graphics2D)g;4 AffineTransform at=new AffineTransform();5 at.scale(scale,scale);6 g2d.setTransform(at);7 g2d.drawImage(im,at,this);8 }其中... 阅读全文

Java 集合框架

2012-10-26 00:40 by coffeescript, 403 阅读, 收藏,
摘要: Collection定义了存取一组对象的方法,子接口Set和List分别定义了存储方式。Set:元素没有次序,不允许重复。List:元素加载和移出时按照顺序,允许重复。Map:以键值对的方式存放两个对应的元素。无放入顺序,key不能重复,value可以重复。SortedMap:和Map相同,但集合中的元素按照它们键值的升序排列。集合接口层次框架图:集合类框架图:LinkedList:增删快,查找慢,多用于插入和删除。ArrayList:效率高,不直接支持并发,多用于查询。Vector:效率低、线程安全,直接支持并发操作,多用于查询HashSet:存储效率高,查询效率低。TreeSet:存储效率 阅读全文

Java HashSet

2012-10-26 00:36 by coffeescript, 191 阅读, 收藏,
摘要: HashSet的底层实现是数组,其存储原理、覆盖hashCode()方法的原则如下:1.一定要让equals()相等的对象返回相同的hashCode2.尽量让equals()不相等的对象返回不同的hashCode3.尽量让对象的hashCode随机散列,即平均散列。避免集中到某段范围,影响效率,尽量不要用加减,可以用^;要将equals和hashCode两种方法同时覆盖,才能在hashSet中过滤掉相等的对象。 阅读全文