断网了……

烟灰学程序一年多了……总在想,要是断网了,我怎么学习……
烟灰就怕断网,断网了,就得完蛋……
 
 

常用链接

  • 我的随笔
  • 我的评论
  • 我参与的随笔

随笔分类(22)

  • Struts2.1学习(2) (rss)
  • Swing_UI开发进度(6) (rss)
  • 程序开发进度(14) (rss)

随笔档案(39)

  • 2010年2月 (2)
  • 2010年1月 (5)
  • 2009年12月 (1)
  • 2009年11月 (2)
  • 2009年8月 (2)
  • 2009年7月 (2)
  • 2009年6月 (2)
  • 2009年5月 (1)
  • 2009年4月 (1)
  • 2009年3月 (6)
  • 2009年2月 (11)
  • 2009年1月 (4)

相册

  • 程序图片

搜索

  •  

积分与排名

  • 积分 - 29180
  • 排名 - 179

最新评论

  • 1. re: windows server 2008 安装IIS7碰到的问题
  • 啊啊
  • --放
  • 2. re: 使用Filter进行非法访问拦截
  • 很久的帖子了,非法访问可以用spring来解决@毕业生
  • --烟灰这名字被人抢了……
  • 3. re: 使用Filter进行非法访问拦截
  • 评论内容较长,点击标题查看
  • --毕业生
  • 4. re: windows server 2008 安装IIS7碰到的问题
  • 你这个文章可是帮了我大忙啊......
  • --myskysoft
  • 5. re: Javascript Remote Object Invoker 6
  • 博主很强大!不错!
  • --不锈钢水箱
  • 6. re: Javascript Remote Object Invoker 6
  • 恭喜了,向你学习!
  • --海鲜池
  • 7. re: Javascript Remote Object Invoker 6
  • 是大家看法是打开
  • --凡客诚品官方网站
  • 8. re: Javascript Remote Object Invoker 2
  • 是空间看时间的方式将
  • --久久书城
  • 9. re: Javascript Remote Object Invoker 3
  • 是看见的开发时间地方
  • --凡客诚品官方网
  • 10. re: Javascript Remote Object Invoker 5
  • 阿萨就是大海的
  • --淘宝网减肥药

阅读排行榜

  • 1. 关于AlphaComposite的理解——Swing UI开发进度 (4932)
  • 2. (转)JDBC与JNDI应用比较(3007)
  • 3. 2009-2-6 再也再也不用JBuilder 搞开发了……(1597)
  • 4. 使用Filter进行非法访问拦截(1576)
  • 5. java LookAndFeel原理 ——Swing UI开发进度(1523)
  • 6. 为了好看,自己做!——Swing UI 开发进度(1344)
  • 7. windows server 2008 安装IIS7碰到的问题(1021)
  • 8. 说说LookAndFeel的工作流程——Swing UI开发进度 (956)
  • 9. 新的一个开始!——Swing UI开发进度 (864)
  • 10. Javascript Remote Object Invoker 3(769)

评论排行榜

  • 1. Javascript Remote Object Invoker 6(5)
  • 2. 使用Filter进行非法访问拦截(4)
  • 3. 关于AlphaComposite的理解——Swing UI开发进度 (3)
  • 4. 2009-2-1 今天开始更新,之后会不断更新 又是一个通宵……(2)
  • 5. 2009-2-6 再也再也不用JBuilder 搞开发了……(2)
  • 6. java LookAndFeel原理 ——Swing UI开发进度(2)
  • 7. 说说LookAndFeel的工作流程——Swing UI开发进度 (2)
  • 8. (转)JDBC与JNDI应用比较(2)
  • 9. windows server 2008 安装IIS7碰到的问题(2)
  • 10. Javascript Remote Object Invoker 5(2)

Powered by: 博客园
模板提供:沪江博客
IT博客 | 首页 | 发新随笔 | 发新文章 | 联系 | | 管理

2009-2-6 再也再也不用JBuilder 搞开发了……

基于数据库的图书管理系统,基本功能完成了,添加了基本的权限管理
还没有通过测试,当然只是一个教学样板









刚刚修正了几个比较严重的BUG,还是因为JDK 1.4用不习惯造成的。。。哎

下面是代码下载地址

下载:运行用class文件

下载:源码

下载:MySql 5.0 驱动
posted @ 2009-02-06 22:56 烟灰这名字被人抢了…… 阅读(1597) | 评论 (2) | 编辑 收藏
 
2009-2-4 累死人的JBuilder 9
我不玩了,我玩不起,那个JBuilder 9,做图形简直怎一个垃圾了得。。。代码乱就算了。。我忍

还出N多Bug
哎

    




没心情了。。。撒子都不写了,今天被搞烦了,总算他妈的要完工了
posted @ 2009-02-04 06:59 烟灰这名字被人抢了…… 阅读(445) | 评论 (1) | 编辑 收藏
 
根据接口编程[原创]

什么叫根据接口编程,烟灰也是突然想到了这个词,接口是什么?行为的定义,以前一直都在懵懵懂懂中度过,一直都没想明白,那么怎么才能做到组件的最大利用率?
或者说,当我的前台组件删除之后,我的后台组件是否能够继续使用?
不要曲解我的意思,我的意思是指,当我不再使用以前的前台View组件之后,我的后台是否可以在不变的情况下继续使用?答案就在这里了,根据接口编程!

下面看一个举例:不是代码,不用紧张,看代码很头痛!

首先是登陆,是否有一个登陆窗口?嗯。。。确实
那么这个登陆窗口怎么体现?
实话,一百个人有一百个实现方式!
好了。。。。这下好了。。。重复利用率降低了
那么我在想,是不是可以给每个人提供一个行为准则呢?确实可以!那就是接口(最开始学习java的时候一直没明白这个准则有什么用,为什么要称为接口,Oh~ha,现在知道了?)
一个登陆窗口,我需要的属性有哪些?id、password哈!就这么点,那么可以定义两个方法

public String getId();

public String getPassword();

然后就是怎么确定我的窗口是已经点击了OK或者是CANCEL?这是一个比较考验人的问题,那么我们需要一个方法以及两个常量字段!

public int getOption();

int OK_OPTION = 1;

int CANCEL_OPTION = 0;


这样就可以让外部知道我们的对话框弹出之后点击了哪个按钮
嗯,用户习惯有阻塞,或许你要说……谁说一定就要阻塞?谁知道呢?你可以自己写阻塞嘛
最后也是最容易忽略的地方。。。显示窗口……没这个方法完全是不可能的。。。。

public int showDialog();


注意到了么?那个返回值,int!对了,这个就是提供给我们的阻塞写法的~

整段代码如下。。。
public interface LoginUI {

    
public int showDialog();

    
public int getOption();

    
public String getId();

    
public String getPassword();

    
int OK_OPTION = 1;

    
int CANCEL_OPTION = 0;
}
好了,我们可以根据接口编程了,登陆对话框是什么?
鬼知道,谁实现了这个接口谁就可以实现登陆对话框~
下面我讲解如何根据接口编程了

public interface LoginObserver extends Observer{

   
/**
     * 登陆通知,告诉程序,用户选择了登陆事件
     
*/
    
public void login();

    
/**
     * 退出通知,告诉程序,用户选择了退出事件
     
*/
    
public void quit();

    }

这个东西学过设计模式的同志应该非常的熟悉……
对,观察者,嗯。。。我是个人理解,当一个事件被调用时,那么我们就要告诉观察者你该做点什么然后观察者会调用update方法

好了,不说这些看看,我们该做点什么
对了,登陆,那么方法应该这样写,当然我的需求是:当用户点击登陆时,会弹出对话框,如果验证失败,将保持对话框,除非用户点击取消,OK,看段代码

public void login() {
        
int result;
        String id;
        String psw;
        
do{
            result 
= loginUI.showDialog();
            //看见了吧?我这里是设置的阻塞模式,当然你可以不必这样写
            id 
= loginUI.getId();
            psw 
= loginUI.getPassword();
        }
while(result == loginUI.OK_OPTION && !loginModel.login(id, psw));
        
//除非用户选择取消,该登陆通知者会一直通知用户登陆
        update();
         //更新方法
    }

OK,loginModel也是一个接口,定义如下
public interface LoginModel {

    
public boolean login(String id, String psw);

    
public User getLoginUser();

    
public Popedom getLoginPopedom();

    
public boolean isLogin();

    
public void quit();
}


看到这里,大概明白了吧?怎么根据接口编程?
嗯。。。烟灰最近也算是悟出了,之后我要做的就是把前后台的代码分类,然后放在不同的包里,将接口完全独立出来,不论我的类如何的变,几个包都能协同工作,牛叉吧,传说中的接口编程就是这样了,其实很简单,不是么?
posted @ 2009-02-03 03:30 烟灰这名字被人抢了…… 阅读(326) | 评论 (1) | 编辑 收藏
 
2009-2-2 小型号发电机果然是要罢工的……
好累,连续奋战了6天了,快一星期了……
不过基本框架没问题了,就看怎么优化了,优化是一个恐怖的工作,累死人
权限的控制没添加,我估摸着应该比较容易……就是几个JOptionPane而已,容易


看到题目可能要纳闷是吧?哎……MySql在罢工,我没法,不过网上找到了解决的方案……但是我一直觉得很纳闷,为什么sun的东西老有乱码问题???
哎……看截图吧


我确实没搞明白为什么……出问号,确实黑烦……

将就了……
今天把查询什么的也写好了


颜色丢失了……本来就丑,就这样了……UI写了没法用,我准备把这一版写好了换到Eclipse上把UI加上,嘿嘿
写了一个登陆的信息,没美工,哎……


OK,今天就这样了……我估摸着还要个2、3天才做的完这个
posted @ 2009-02-02 02:11 烟灰这名字被人抢了…… 阅读(176) | 评论 (0) | 编辑 收藏
 
2009-2-1 今天开始更新,之后会不断更新 又是一个通宵……
最近很闷,又是一个通宵,不为别的,因为最近精神不好。。。
老是晚上才能集中精力,不过总算是将基本的框架给搭出来了,剩下的UI开发还是很成问题,JDK 1.4 没有提供的方法太多了,我在1.6中开发的那些UI将无法应用与现有的程序……
不过总体来说JBuilder还算比较强大的,我不太愿意用Borland提供的一些类库,我觉得这样不容易转换平台,所以直接使用了JDK自带的类库,还是够用了……
代码暂时不发了,因为我还有个小计划,就算要发也是最后完成了发了
花了三天看了些关于数据库建模的东西,简单的建立了一个图书管理系统的模型
PD确实方便建立数据库模型,比自己用DOC建模快多了

下面是图书管理系统的界面,我个人觉得很缺乏开发经验,而且由于是老师提供的一个题目而已,所以也没有需求……所以很遗憾……我没有写太多功能,而且现在还是半成品……
不过基本符合MVC的模式,这点对于我的学习很关键,毕竟才学了一年多点的时间,个人觉得很难得了……
posted @ 2009-02-01 08:03 烟灰这名字被人抢了…… 阅读(341) | 评论 (2) | 编辑 收藏
 
按钮动画分解——Swing UI开发进度

对于UI的开发,那么最简单的自然是Button的开发,并且从Button开始开发将积累很多可重用组件以及方法,为以后的开发提供许多依仗
Button动画自然至少有两个个动画,按之前、按下,并且可以添加鼠标移入动画本人的美工确实有限的很,所以开发的东西不会非常好看,还请指教。

这是一个为按下的动画,将这个绘制分解之后自然就可以看出,其实就是两段渐变效果
代码如下

 1public class OutsetPainter implements Painter {
 2
 3    private Rectangle backRect;
 4
 5    private LinearGradientPaint lGPaint1;
 6
 7    private Point startP = new Point();
 8    private Point endP = new Point();
 9
10    private Color darkColor;
11
12    private Color lightColor;
13
14    private Color backColor;
15
16    private Color whiteColor = new Color(250, 250, 250);
17
18    private final static int CHANGE_STEP = 12;
19
20    public OutsetPainter(Rectangle rect) {
21        init(rect, StyleColor.backColor);
22    }

23
24    public OutsetPainter(Rectangle rect, Color color) {
25        init(rect, color);
26    }

27
28    public void init(Rectangle rect, Color color) {
29        this.backRect = (Rectangle) rect.clone();
30        backColor = color;
31        initLinearGradientPaint(rect);
32    }

33
34    public void painted(Graphics2D g2d) {
35        g2d.setPaint(lGPaint1);
36        g2d.fill(backRect);
37    }

38
39    private void initLinearGradientPaint(Rectangle backRect) {
40        darkColor = createDarkColor(backColor);
41        lightColor = createLightColor(backColor);
42        startP.y = backRect.y;
43        endP.y = backRect.y + backRect.height;
44        Color[] colors = { whiteColor, backColor, darkColor, lightColor };
45        float[] dish = { 0.0f, 0.49f, 0.50f, 1.0f };
46        lGPaint1 = new LinearGradientPaint(startP, endP, dish, colors);
47    }

48
49    private Color createDarkColor(Color color) {
50        int red = getSmallerInt(color.getRed());
51        int green = getSmallerInt(color.getGreen());
52        int blue = getSmallerInt(color.getBlue());
53        return new Color(red, green, blue);
54    }

55
56    private int getSmallerInt(int i) {
57        i = (i - CHANGE_STEP < 0) ? 0 : i - CHANGE_STEP;
58        return i;
59    }

60
61    private Color createLightColor(Color color) {
62        int red = getBiggerInt(color.getRed());
63        int green = getBiggerInt(color.getGreen());
64        int blue = getBiggerInt(color.getBlue());
65        return new Color(red, green, blue);
66    }

67
68    private int getBiggerInt(int i) {
69        i = (i + CHANGE_STEP > 255) ? 255 : i + CHANGE_STEP;
70        return i;
71    }

LinearGradientPaint 是这里唯一要讲述一下的类,这个类实现了Paint接口,并实现了渐变的绘制
这也是Java2D的强大之处,为做游戏提供了很多依仗,但是要做更高强度的绘制渲染还是得自己实现Paint接口进行绘制

请注意一个细节
1public OutsetPainter(Rectangle rect, Color color) {
2       init(rect, color);
3}

4
这段代码为鼠标移入按钮提供了依仗,使得更换颜色达到动画效果
posted @ 2009-01-27 19:45 烟灰这名字被人抢了…… 阅读(573) | 评论 (0) | 编辑 收藏
 
BasicButtonUI

关于这个类,主要看源代码,其实很多功能已经实现,直接继承这个类是最好的
里面唯一都空方法其实是

protected void paintFocus(Graphics g, AbstractButton b,Rectangle viewRect, Rectangle textRect, Rectangle iconRect){
}

  
protected void paintButtonPressed(Graphics g, AbstractButton b){
}

所以只需要继承这个类,然后重写这两个方法即可
posted @ 2009-01-25 05:57 烟灰这名字被人抢了…… 阅读(225) | 评论 (0) | 编辑 收藏
 
关于AlphaComposite的理解——Swing UI开发进度
     摘要:   我将对java 2D进行一些讲述,当然是原创,不过也是参考自sun公司自己编写的java tutorial。下面是这个指南的地址,以及一些来自官方的翻译版本 关于Composite的官方版本(英文) AlphaComposite,是关于两个目标重叠的混合处理类,该类提供了一个getInstance的方法,其中的两个参数为rule和alpha,第二个参数将由调用者设置一个alpha...  阅读全文
posted @ 2009-01-25 05:12 烟灰这名字被人抢了…… 阅读(4932) | 评论 (3) | 编辑 收藏
 
新的一个开始!——Swing UI开发进度
现在将进行Swing_UI都开发,最终为将其整合为LookAndFeel来处理,将是轻量级组件外观。。。。
当然,我已经提过,是SwingUI开发来。。。自然是轻量级。。。。

暂时定名为poem……

铭记这个日子2009-1-25
posted @ 2009-01-25 03:27 烟灰这名字被人抢了…… 阅读(864) | 评论 (0) | 编辑 收藏
 
仅列出标题
共4页: 1 2 3 4