`
dukai1008
  • 浏览: 17999 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

我也来个原创swing,手写代码

阅读更多

这两天才有时间登陆je,好几个月没来了,不是没空,是不敢来,也没来看,不发贴,只是百度的时候偶尔跳进来。。

前几个月发了些贴,被人贬得一文不值,我也懒得发了,省得找喷!现在大家都是GET,不SET了,哈哈。。我说的实话

 

这几天看了几个贴,SWING好像火了,不知道是不是真的,我也发两个贴。。

 

刚好刚才看了一个兄弟的一个“计算器”,手写的,哈哈,同类人啊,我也喜欢手写,结合IDE,很快的。当然不是可视化。前不久学习MYBATIS,写了个SPRING+MYBATIS+SWING的小软件,功能不是很全,就叫DEMO吧,连的MYSQL数据库

 

上图:

 

 

部分代码:

 

package com.finmanage.swing.dialog;

import java.awt.BorderLayout;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.util.List;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

import com.finmanage.bussines.model.Kind;
import com.finmanage.bussines.service.FacadeService;
import com.finmanage.swing.frame.BaseInternalFrame;

public class FinanceNew extends BaseInternalFrame{
	private static final long serialVersionUID = -8607149290281591829L;
	
	private static FinanceNew finNew;
	private FacadeService facadeService=(FacadeService)appContext.getBean("facadeService");
	
	private JPanel panel;
	private JLabel lab_img;
	private JLabel lab_kind;
	private JComboBox com_kind;
	private JLabel lab_money;
	private JTextField txt_money;
	private JLabel lab_time;
	private JTextField txt_time;
	private JLabel lab_desc;
	private JTextArea area_desc;
	private JScrollPane jsp;
	private JButton btn_save;
	
	private void initResource(){
		panel=new JPanel();
		lab_img=new JLabel(new ImageIcon(this.getClass().getResource("/com/finmanage/swing/img/fin_new.gif")));
		lab_kind=new JLabel("类    别");
		
		com_kind=new JComboBox(getKindNameList().split(","));
		lab_money=new JLabel("金   额");
		txt_money=new JTextField();
		lab_time=new JLabel("时   间");
		txt_time=new JTextField();
		lab_desc=new JLabel("描   述");
		area_desc=new JTextArea();
		jsp=new JScrollPane(area_desc);
		btn_save=new JButton("保存");
	}
	private void setBound(){
		panel.setBounds(0,0,400,400);
		lab_img.setBounds(new Rectangle(220,6,146,172));
		lab_kind.setBounds(new Rectangle(40,60,50,22));
		com_kind.setBounds(new Rectangle(90,60,110,22));
		lab_money.setBounds(new Rectangle(40,100,50,22));
		txt_money.setBounds(new Rectangle(90,100,110,22));
		lab_time.setBounds(new Rectangle(40,140,50,22));
		txt_time.setBounds(new Rectangle(90,140,110,22));
		lab_desc.setBounds(new Rectangle(40,190,50,22));
		jsp.setBounds(new Rectangle(90,180,230,90));
		btn_save.setBounds(new Rectangle(90,290,70,25));
	}
	
	public void initGUI(){
		this.initResource();
		this.setBound();
		this.setTitle("新增资金");
		this.setLayout(new BorderLayout());
		this.add(panel,BorderLayout.CENTER);

		panel.setLayout(null);
		panel.add(lab_img);
		panel.add(lab_kind);
		panel.add(com_kind);
		panel.add(lab_money);
		panel.add(txt_money);
		panel.add(lab_time);
		panel.add(txt_time);
		panel.add(lab_desc);
		panel.add(jsp);
		panel.add(btn_save);
		
		this.setMaximizable(false);
		this.setIconifiable(true);
		this.setClosable(true);
		this.setSize(400, 400);
		this.setLocation(250, 35);
	}
	
	private String getKindNameList(){
		String args="";
		List<Kind> kindList=facadeService.getAllKind();
		for(Kind k:kindList){
			args+=k.getName()+",";
		}
		return args;
	}
	
	public void actionPerformed(ActionEvent e) {
	//	Object obj=(Object)e.getSource();
//		if(obj==jb){
//			
//		}
	}
	
	public FinanceNew(){ //show be private
		this.initGUI();
	}
	public static FinanceNew getInstance(){
		if(null==finNew){
			finNew=new FinanceNew();
		}
		return finNew;
	}
	
	public static void main(String[] args){//just fro test
		new FinanceNew();
	}
}

 

 

后来代码做了调整,构造private了,组件全部用的单例来实现的,换了饥饿模式,按钮全部用的“组合”来实现的,看“过鸭子模式”的朋友应该知道怎么做。代码就不发了

  • 大小: 17.5 KB
  • 大小: 48.9 KB
分享到:
评论
21 楼 wjjcml1982 2011-03-16  
同道中人,我也喜欢手写,用不惯NETBEANS的可视化,虽然知道NETBEANS很强大。
20 楼 chenxizhiyi 2011-03-16  
mtnt2008 写道
yangguo 写道
还不错。不在被打击中成长,便在被打击中逃跑。


+1

楼主精神可嘉!

楼主加油
19 楼 yangguo 2010-12-30  
qq240996777 写道
wxwdt 写道
我们就是用swing来做项目的,效果不错呀!不知道为什么现在国内项目非得都整成bs的!

那得要看情况咯,想想现在国内的实际情况吧。从中标项目到需求、上线往往时间上很不够。
CS做出来相对于BS来说速度肯定会慢些,而且BS有一优点就是先上线然后再改BUG 这样可以每天更新服务器了


胡说。CS的生成率比BS高几个数量级。后一句倒是说对了。
18 楼 lxs647 2010-12-30  
JE这几天中swing被提及的频率较高、、、、、、、、、
17 楼 油炸大龙虾 2010-12-29  
Jie_Jie 写道
弱弱的问一下,SWING现在还有很多人用吗?貌似CS结构,用JAVA做UI岂不是很蹩脚.

see griffon in action.
16 楼 qq240996777 2010-12-29  
wxwdt 写道
我们就是用swing来做项目的,效果不错呀!不知道为什么现在国内项目非得都整成bs的!

那得要看情况咯,想想现在国内的实际情况吧。从中标项目到需求、上线往往时间上很不够。
CS做出来相对于BS来说速度肯定会慢些,而且BS有一优点就是先上线然后再改BUG 这样可以每天更新服务器了
15 楼 mtnt2008 2010-12-29  
yangguo 写道
还不错。不在被打击中成长,便在被打击中逃跑。


+1

楼主精神可嘉!
14 楼 wxwdt 2010-12-29  
我们就是用swing来做项目的,效果不错呀!不知道为什么现在国内项目非得都整成bs的!
13 楼 rplees 2010-12-29  
点评下,这样的代码看的很舒服。
不像我现在手上这个项目,啊!!!!!!
12 楼 yycn31 2010-12-29  
控件都拖的。 看看里面代码JLable都是全局的。。稍微大点的Swing项目都是纯手工写的。
11 楼 dukai1008 2010-12-29  
xjtusehcy 写道
我还以为lz做了个mac的look&feel。。。


我觉得这个就挺好的,没必要去做轮子吧。。
10 楼 nice_u 2010-12-29  
swing 还是蛮有前景的,有些应用的确要客户端会比较有优势,例如要调用系统资源的一些应用。
9 楼 compty 2010-12-29  
支持lz,其实swing 相当不错。成功案例非常多,大家不要人云亦云。
8 楼 kimono 2010-12-29  
最近也在关注JE的SWING,自己开始慢慢地喜欢SWING了,不知LZ能否把源码发出来与大家一起分享下,在此感谢。
7 楼 jorneyR 2010-12-28  
yangguo 写道
还不错。不在被打击中成长,便在被打击中逃跑。


我喜欢
6 楼 yangguo 2010-12-28  
还不错。不在被打击中成长,便在被打击中逃跑。
5 楼 xjtusehcy 2010-12-28  
我还以为lz做了个mac的look&feel。。。
4 楼 qianhd 2010-12-28  
难度在哪里???
3 楼 depravedangel 2010-12-28  
哈哈,同道中人,我从刚出学校赚到第一笔钱就开始记账,不是小气,是想知道到底钱是怎么赚来的,又是怎么被花出去的,有利于分析那些钱该花,那些钱不该花。

不过我没做界面,数据就一xml文件,每次添加就是了,搞个界面录入还麻烦。
数据显示也没做,做了一大堆统计图表,我觉得那样更直观。
2 楼 Jie_Jie 2010-12-28  
弱弱的问一下,SWING现在还有很多人用吗?貌似CS结构,用JAVA做UI岂不是很蹩脚.

相关推荐

Global site tag (gtag.js) - Google Analytics