`
dukai1008
  • 浏览: 18146 次
  • 性别: 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 完整代码

    利用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是一个...

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

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

    Swing 的table显示代码

    本示例中,我们看到的`Swing`的`table`显示代码涉及到了`JTable`的使用,以及与MySQL数据库的交互。下面将详细解释这些知识点。 1. **JTable**: `JTable`是Java Swing中的一个组件,它允许开发者创建和显示二维数据...

Global site tag (gtag.js) - Google Analytics