`
dukai1008
  • 浏览: 18191 次
  • 性别: 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岂不是很蹩脚.

相关推荐

    java-swing版代码生成器

    由于无法直接访问该链接,我将基于通常的代码生成器功能来解释这个工具的一般概念。 代码生成器的主要作用是减少手动编写重复代码的工作量。在Java Swing中,开发者经常需要为各种UI组件编写事件监听器、布局管理...

    swing开发的源代码

    Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分。Swing提供了一套丰富的组件,用于创建桌面应用程序,包括按钮、文本框、菜单、滚动面板等。Swing是完全由Java...

    swing版代码生成器

    总的来说,Swing版代码生成器是一个基于Java Swing的实用工具,它利用codegen技术(如Velocity)和Java的强大功能,帮助开发者快速生成定制化的代码,减少重复劳动,提高开发效率。通过运行SwingCodeGen.jar和批处理...

    java小游戏 (源码)swing五子棋源代码

    java小游戏 (源码)swing五子棋源代码java小游戏 (源码)swing五子棋源代码java小游戏 (源码)swing五子棋源代码java小游戏 (源码)swing五子棋源代码java小游戏 (源码)swing五子棋源代码java小游戏 (源码)swing五子棋源...

    swing版代码生成器1.2

    【Swing版代码生成器1.2】是一款基于Java Swing技术开发的代码自动化工具,它旨在简化软件开发过程,提高开发效率。Swing是Java提供的一种用于构建图形用户界面(GUI)的库,其组件丰富,灵活性高,使得开发者能够...

    Java Swing 学习代码

    可以设置其最大字符数,文本过滤器等属性,也可以添加TextListener或DocumentListener来监听文本变化。 3. **复选框(JCheckBox)**:复选框允许用户在一组选项中选择多个选项。可以使用ItemListener或...

    Swing MVC 代码示例

    在Swing中,MVC模式帮助开发者将应用程序的逻辑分解为三个相互独立的部分,从而提高代码的可读性、可维护性和可扩展性。 **模型(Model)** 模型是应用程序的核心,它负责存储和管理数据。在Swing MVC中,模型类...

    JavaSwing的代码

    JavaSwing对学习swing很好的参考哦 JavaSwing对学习swing很好的参考哦

    java swing laffy风格皮肤源代码

    Java Swing 是Java GUI(图形用户界面)开发的一个重要框架,它提供了一系列组件和工具来创建桌面应用程序。在Swing中,"Look and Feel"(L&F)是用于改变应用程序界面外观和交互体验的关键概念。Look and Feel允许...

    javaswing图书馆管理系统源代码+数据库模型

    javaswing图书馆管理系统源代码+数据库模型 确保系统具有良好的系统性能,友好的用户界面。 较高的处理效率,便于使用和维护。 采用成熟技术开发,使系统具有较高的技术水平和较长的生命周期。 系统尽可能...

    java swing 源代码 拼图游戏

    在这个"java swing 源代码 拼图游戏"中,我们可以深入学习Java Swing如何用于创建交互式的游戏应用。 首先,拼图游戏通常涉及到图像处理和逻辑算法。在Java Swing中,我们可以使用`javax.swing.ImageIcon`类来加载...

    JAVA 课程设计源码 俄罗斯方块 SWING 完整代码

    JAVA 课程设计源码 俄罗斯方块 SWING 完整代码JAVA 课程设计源码 俄罗斯方块 SWING 完整代码JAVA 课程设计源码 俄罗斯方块 SWING 完整代码JAVA 课程设计源码 俄罗斯方块 SWING 完整代码

    java swing管理系统源码 程序 代码 图形界面(11套).zip

    Java Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分,用于构建桌面应用程序。本压缩包包含了11套完整的Java Swing管理系统源码,这些源码对于学习和理解Java GUI...

    利用Swing开发的JAVA常用组件代码

    在压缩包中的"codefans.net"文件可能是指向一个网站链接或代码资源的引用,这可能包含了更多关于Swing组件的详细示例代码和教程。学习和实践这些代码可以帮助开发者深入理解Swing组件的工作原理,以及如何在实际项目...

    难得一见的java Swing 源代码示例,非常好

    本压缩包中的"Swing Examples"包含了多个Java Swing源代码示例,这些示例可以帮助你深入理解Swing的工作原理和用法。下面,我们将详细讨论一些关键的Swing知识点: 1. **JFrame**: JFrame是Swing中的顶级容器,用于...

    java Swing 文件批量上传 DEMO 源代码

    在这个"java Swing 文件批量上传 DEMO 源代码"中,我们关注的核心是利用Swing构建一个用户界面,实现文件和文件夹的批量上传功能。这涉及到多个Java Swing组件、事件处理以及文件I/O操作。 首先,Swing 提供了诸如...

    高级Swing讲义及代码

    "高级Swing讲义及代码"这个压缩包很可能是包含了一些关于Swing深入使用的教程材料和实际的示例代码,帮助开发者提升Swing应用开发的技能。 在Swing中,有几个重要的概念和知识点是开发者需要掌握的: 1. **组件...

    javaswing酒店管理系统源代码+数据库模型

    javaswing酒店管理系统源代码+数据库模型 酒店管理系统的需求包括开台点菜功能、智能化获取菜品功能、自动结账功能、营业额报表功能等。依据餐饮行业的特点,本系统实现以下目标: 操作简单方便、界面简洁大方。 ...

    Java编程实现swing圆形按钮实例代码

    Java编程实现swing圆形按钮实例代码主要介绍了Java编程实现swing圆形按钮实例代码,涉及两个简单的Java实现按钮的代码,其中一个具有侦测点击事件的简单功能,具有一定借鉴价值,需要的朋友可以参考。 Swing是一个...

    swing技术的代码sample.doc

    本文档“swing技术的代码sample.doc”提供了一个关于如何在Swing JTable的特定列中实现下拉列表功能的示例代码,并附带了对文件选择器的简要提及。接下来,我们将深入探讨这段代码的细节及其背后的原理。 #### 代码...

Global site tag (gtag.js) - Google Analytics