这两天才有时间登陆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
分享到:
相关推荐
由于无法直接访问该链接,我将基于通常的代码生成器功能来解释这个工具的一般概念。 代码生成器的主要作用是减少手动编写重复代码的工作量。在Java Swing中,开发者经常需要为各种UI组件编写事件监听器、布局管理...
Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分。Swing提供了一套丰富的组件,用于创建桌面应用程序,包括按钮、文本框、菜单、滚动面板等。Swing是完全由Java...
总的来说,Swing版代码生成器是一个基于Java Swing的实用工具,它利用codegen技术(如Velocity)和Java的强大功能,帮助开发者快速生成定制化的代码,减少重复劳动,提高开发效率。通过运行SwingCodeGen.jar和批处理...
java小游戏 (源码)swing五子棋源代码java小游戏 (源码)swing五子棋源代码java小游戏 (源码)swing五子棋源代码java小游戏 (源码)swing五子棋源代码java小游戏 (源码)swing五子棋源代码java小游戏 (源码)swing五子棋源...
【Swing版代码生成器1.2】是一款基于Java Swing技术开发的代码自动化工具,它旨在简化软件开发过程,提高开发效率。Swing是Java提供的一种用于构建图形用户界面(GUI)的库,其组件丰富,灵活性高,使得开发者能够...
可以设置其最大字符数,文本过滤器等属性,也可以添加TextListener或DocumentListener来监听文本变化。 3. **复选框(JCheckBox)**:复选框允许用户在一组选项中选择多个选项。可以使用ItemListener或...
在Swing中,MVC模式帮助开发者将应用程序的逻辑分解为三个相互独立的部分,从而提高代码的可读性、可维护性和可扩展性。 **模型(Model)** 模型是应用程序的核心,它负责存储和管理数据。在Swing MVC中,模型类...
JavaSwing对学习swing很好的参考哦 JavaSwing对学习swing很好的参考哦
Java Swing 是Java GUI(图形用户界面)开发的一个重要框架,它提供了一系列组件和工具来创建桌面应用程序。在Swing中,"Look and Feel"(L&F)是用于改变应用程序界面外观和交互体验的关键概念。Look and Feel允许...
javaswing图书馆管理系统源代码+数据库模型 确保系统具有良好的系统性能,友好的用户界面。 较高的处理效率,便于使用和维护。 采用成熟技术开发,使系统具有较高的技术水平和较长的生命周期。 系统尽可能...
在这个"java swing 源代码 拼图游戏"中,我们可以深入学习Java Swing如何用于创建交互式的游戏应用。 首先,拼图游戏通常涉及到图像处理和逻辑算法。在Java Swing中,我们可以使用`javax.swing.ImageIcon`类来加载...
JAVA 课程设计源码 俄罗斯方块 SWING 完整代码JAVA 课程设计源码 俄罗斯方块 SWING 完整代码JAVA 课程设计源码 俄罗斯方块 SWING 完整代码JAVA 课程设计源码 俄罗斯方块 SWING 完整代码
在压缩包中的"codefans.net"文件可能是指向一个网站链接或代码资源的引用,这可能包含了更多关于Swing组件的详细示例代码和教程。学习和实践这些代码可以帮助开发者深入理解Swing组件的工作原理,以及如何在实际项目...
本压缩包中的"Swing Examples"包含了多个Java Swing源代码示例,这些示例可以帮助你深入理解Swing的工作原理和用法。下面,我们将详细讨论一些关键的Swing知识点: 1. **JFrame**: JFrame是Swing中的顶级容器,用于...
在这个"java Swing 文件批量上传 DEMO 源代码"中,我们关注的核心是利用Swing构建一个用户界面,实现文件和文件夹的批量上传功能。这涉及到多个Java Swing组件、事件处理以及文件I/O操作。 首先,Swing 提供了诸如...
"高级Swing讲义及代码"这个压缩包很可能是包含了一些关于Swing深入使用的教程材料和实际的示例代码,帮助开发者提升Swing应用开发的技能。 在Swing中,有几个重要的概念和知识点是开发者需要掌握的: 1. **组件...
javaswing酒店管理系统源代码+数据库模型 酒店管理系统的需求包括开台点菜功能、智能化获取菜品功能、自动结账功能、营业额报表功能等。依据餐饮行业的特点,本系统实现以下目标: 操作简单方便、界面简洁大方。 ...
Java编程实现swing圆形按钮实例代码主要介绍了Java编程实现swing圆形按钮实例代码,涉及两个简单的Java实现按钮的代码,其中一个具有侦测点击事件的简单功能,具有一定借鉴价值,需要的朋友可以参考。 Swing是一个...
Java Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分,用于构建桌面应用程序。本压缩包包含了11套完整的Java Swing管理系统源码,这些源码对于学习和理解Java GUI...
本示例中,我们看到的`Swing`的`table`显示代码涉及到了`JTable`的使用,以及与MySQL数据库的交互。下面将详细解释这些知识点。 1. **JTable**: `JTable`是Java Swing中的一个组件,它允许开发者创建和显示二维数据...