这两天才有时间登陆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了,组件全部用的单例来实现的,换了饥饿模式,按钮全部用的“组合”来实现的,看“过鸭子模式”的朋友应该知道怎么做。代码就不发了