论坛首页 Java企业应用论坛

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

浏览 9471 次
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2010-12-27   最后修改:2010-12-27

这两天才有时间登陆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
   发表时间:2010-12-28  
很好啊,一直想学学,就是没耐性
0 请登录后投票
   发表时间:2010-12-28   最后修改:2010-12-28
弱弱的问一下,SWING现在还有很多人用吗?貌似CS结构,用JAVA做UI岂不是很蹩脚.
0 请登录后投票
   发表时间:2010-12-28  
哈哈,同道中人,我从刚出学校赚到第一笔钱就开始记账,不是小气,是想知道到底钱是怎么赚来的,又是怎么被花出去的,有利于分析那些钱该花,那些钱不该花。

不过我没做界面,数据就一xml文件,每次添加就是了,搞个界面录入还麻烦。
数据显示也没做,做了一大堆统计图表,我觉得那样更直观。
0 请登录后投票
   发表时间:2010-12-28  
难度在哪里???
0 请登录后投票
   发表时间:2010-12-28  
我还以为lz做了个mac的look&feel。。。
0 请登录后投票
   发表时间:2010-12-28  
还不错。不在被打击中成长,便在被打击中逃跑。
0 请登录后投票
   发表时间:2010-12-28  
yangguo 写道
还不错。不在被打击中成长,便在被打击中逃跑。


我喜欢
0 请登录后投票
   发表时间:2010-12-29  
最近也在关注JE的SWING,自己开始慢慢地喜欢SWING了,不知LZ能否把源码发出来与大家一起分享下,在此感谢。
0 请登录后投票
   发表时间:2010-12-29  
支持lz,其实swing 相当不错。成功案例非常多,大家不要人云亦云。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics