- 浏览: 603672 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (448)
- 字符串相关 (16)
- Struts2页面显示 (15)
- Hibernate错误记录 (6)
- linux命令 (2)
- java项目测试 (5)
- 个人作品 (10)
- hibernate应用 (15)
- struts1 (7)
- 数据库(除了hibernate) (42)
- J2ME/WAP (37)
- servlet/jsp (49)
- java桌面应用+java综合 (14)
- 服务器配置,报错解决 (24)
- Myeclipse配置,抛错解决 (8)
- linux (18)
- JavaScript+jquery+ajax (45)
- div css 页面设计 (16)
- 互联网综合运营 (14)
- 编程工具类 (3)
- 论文 报告 文献 (14)
- PHP (26)
- struts2 (9)
- spring (1)
- 我的IT生活 (14)
- Resin (6)
- java项目记录 (14)
- https安全 (11)
- 支付技术 (3)
最新评论
-
yihaijunyxr:
很好呀,我好久没用iteye了,今天找出两个帐号(yihaij ...
c/c++的监听tmlisten启动缓慢解决 -
yihaijun:
好像这不算是技术博客,是工作博客
c/c++的监听tmlisten启动缓慢解决 -
ml365:
后来还优化了webservice的前置框架,不用cxf,用了另 ...
c/c++的监听tmlisten启动缓慢解决 -
Jayliuying:
有点晚哈 但是也支持一下 楼主
java相关论文的参考文献【转】 -
gqsunrise:
...
我是项目经理,我的项目管理日记【20120229】
以前常常听说JAVA有多线程
可自己编写到的却很少,这学期编写了很多java程序,终于可以感觉下了,在这个程序中,我开了一个独立的线程去处理财务的计算,这样可以使界面类不会因为计算量大而出现卡的现象。我用的是thread子类来用线程的,计算的工作在run方法里面跑就可以了!界面里面只是调用那个run,这样两者就进水不犯河水啦。就这么简单。当然里面也涉及到文件的输入输出,具有保存功能的!下面给出源代码和截图:
import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.GridBagLayout;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.ObjectOutput;
import java.io.ObjectOutputStream;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JButton;
public class moneyMan extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JPanel jPanel = null;
private JLabel jLabel = null;
private JLabel jLabel1 = null;
JTextField time = null;
private JLabel jLabel2 = null;
JTextField total = null;
private JLabel jLabel3 = null;
JTextField out = null;
private JLabel jLabel4 = null;
JTextField a = null;
private JLabel jLabel5 = null;
JTextField b = null;
private JLabel jLabel6 = null;
JTextField c = null;
private JLabel jLabel7 = null;
JTextField d = null;
JScrollPane showScroll = null;
private JLabel jLabel8 = null;
JTextArea jTextArea = null;
private JButton sure = null;
private JButton clear = null;
private JButton save = null;
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel() {
if (jPanel == null) {
jLabel8 = new JLabel();
jLabel8.setBounds(new Rectangle(224, 77, 285, 27));
jLabel8.setText("财务状况显示区:");
jLabel7 = new JLabel();
jLabel7.setBounds(new Rectangle(34, 277, 115, 30));
jLabel7.setText("20号后支出:");
jLabel6 = new JLabel();
jLabel6.setBounds(new Rectangle(35, 246, 114, 26));
jLabel6.setText("13号~19号支出:");
jLabel5 = new JLabel();
jLabel5.setBounds(new Rectangle(35, 212, 106, 29));
jLabel5.setText("7号~12号支出:");
jLabel4 = new JLabel();
jLabel4.setBounds(new Rectangle(37, 180, 105, 28));
jLabel4.setText("1号~6号支出:");
jLabel3 = new JLabel();
jLabel3.setBounds(new Rectangle(37, 148, 68, 27));
jLabel3.setText("总支出:");
jLabel2 = new JLabel();
jLabel2.setBounds(new Rectangle(36, 119, 69, 27));
jLabel2.setText("总收入:");
jLabel1 = new JLabel();
jLabel1.setBounds(new Rectangle(35, 87, 70, 28));
jLabel1.setText("财务时间:");
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(196, 2, 168, 69));
jLabel.setText(" 财务管理系统");
jPanel = new JPanel();
jPanel.setLayout(null);
jPanel.setBounds(new Rectangle(4, 5, 588, 387));
jPanel.add(jLabel, null);
jPanel.add(jLabel1, null);
jPanel.add(getTime(), null);
jPanel.add(jLabel2, null);
jPanel.add(getTotal(), null);
jPanel.add(jLabel3, null);
jPanel.add(getOut(), null);
jPanel.add(jLabel4, null);
jPanel.add(getA(), null);
jPanel.add(jLabel5, null);
jPanel.add(getB(), null);
jPanel.add(jLabel6, null);
jPanel.add(getC(), null);
jPanel.add(jLabel7, null);
jPanel.add(getD(), null);
jPanel.add(getShowScroll(), null);
jPanel.add(jLabel8, null);
jPanel.add(getSure(), null);
jPanel.add(getClear(), null);
jPanel.add(getSave(), null);
}
return jPanel;
}
/**
* This method initializes time
*
* @return javax.swing.JTextField
*/
private JTextField getTime() {
if (time == null) {
time = new JTextField();
time.setBounds(new Rectangle(107, 89, 103, 27));
}
return time;
}
/**
* This method initializes total
*
* @return javax.swing.JTextField
*/
private JTextField getTotal() {
if (total == null) {
total = new JTextField();
total.setBounds(new Rectangle(109, 118, 100, 27));
}
return total;
}
/**
* This method initializes out
*
* @return javax.swing.JTextField
*/
private JTextField getOut() {
if (out == null) {
out = new JTextField();
out.setBounds(new Rectangle(106, 148, 103, 26));
}
return out;
}
/**
* This method initializes a
*
* @return javax.swing.JTextField
*/
private JTextField getA() {
if (a == null) {
a = new JTextField();
a.setBounds(new Rectangle(143, 181, 70, 26));
}
return a;
}
/**
* This method initializes b
*
* @return javax.swing.JTextField
*/
private JTextField getB() {
if (b == null) {
b = new JTextField();
b.setBounds(new Rectangle(145, 213, 67, 26));
}
return b;
}
/**
* This method initializes c
*
* @return javax.swing.JTextField
*/
private JTextField getC() {
if (c == null) {
c = new JTextField();
c.setBounds(new Rectangle(155, 247, 58, 25));
}
return c;
}
/**
* This method initializes d
*
* @return javax.swing.JTextField
*/
private JTextField getD() {
if (d == null) {
d = new JTextField();
d.setBounds(new Rectangle(155, 278, 58, 26));
}
return d;
}
/**
* This method initializes showScroll
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getShowScroll() {
if (showScroll == null) {
showScroll = new JScrollPane();
showScroll.setBounds(new Rectangle(224, 107, 356, 198));
showScroll.setViewportView(getJTextArea());
}
return showScroll;
}
/**
* This method initializes jTextArea
*
* @return javax.swing.JTextArea
*/
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea();
}
return jTextArea;
}
/**
* This method initializes sure
*
* @return javax.swing.JButton
*/
private JButton getSure() {
if (sure == null) {
sure = new JButton();
sure.setBounds(new Rectangle(36, 325, 99, 43));
sure.setText("确定计算");
sure.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
}
});
sure.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e)
{
TestThread testThread = new TestThread();//新生成一个处理事务线程
testThread.start();//启动事务线程
}
});
}
return sure;
}
/**
* This method initializes clear
*
* @return javax.swing.JButton
*/
private JButton getClear() {
if (clear == null) {
clear = new JButton();
clear.setBounds(new Rectangle(160, 327, 94, 40));
clear.setText("清空");
clear.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
}
});
}
return clear;
}
/**
* This method initializes save
*
* @return javax.swing.JButton
*/
private JButton getSave() {
if (save == null) {
save = new JButton();
save.setBounds(new Rectangle(291, 324, 89, 41));
save.setText("历史财务");
save.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
jTextArea.setText("");
String record = null;
try {
FileReader fr = new FileReader("money.txt");
BufferedReader br = new BufferedReader(fr);
record = new String();
while ((record = br.readLine()) != null) {
String value = record+'\n';
jTextArea.insert(value,jTextArea.getDocument().getLength());
}
br.close();
fr.close();
} catch (IOException ee) {
System.out.println( "Read file error! ");
ee.printStackTrace();
}
}
});
}
return save;
}
/**
* @param args
*/
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
moneyMan thisClass = new moneyMan();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}
/**
* This is the default constructor
*/
public moneyMan() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(591, 425);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJPanel(), null);
}
return jContentPane;
}
class TestThread extends Thread
{
public void run()
{
System.out.println("线程工作了");
String shijian = time.getText();
String zong = total.getText();
int z = Integer.parseInt(zong);
String zhi = out.getText();
int o = Integer.parseInt(zhi);
int z_o = o / z;
String zo = Integer.toString(z_o); //收支比例
String A = a.getText();
int aa = Integer.parseInt(A);
int A_a = aa / z;
String Aa = Integer.toString(A_a);//第一星期收支比例
String B = b.getText();
int bb = Integer.parseInt(B);
int B_b = bb / z;
String Bb = Integer.toString(B_b);//第二星期收支比例
String C = c.getText();
int cc = Integer.parseInt(C);
int C_c = cc / z;
String Cc = Integer.toString(C_c);//第三星期收支比例
String D = d.getText();
int dd = Integer.parseInt(D);
int D_d = dd / z;
String Dc = Integer.toString(D_d);//第四星期收支比例
String value = "总收入:" + zong + '\n' + "总支出:" + zhi + '\n' + "总收支比例:" + zo + "%" + '\n' + "第一星期收支比例:" + Aa + "%" + '\n' + "第二星期收支比例:" + Bb + "%" + '\n' + "第三星期收支比例:" + Cc + "%" + '\n' + "第四星期收支比例:" + Dc + '\n' + "财务结算时间:" + shijian + '\n';
jTextArea.insert(value,jTextArea.getDocument().getLength());
File f = new File("money.txt");
try
{
FileWriter out = new FileWriter(f);
out.write(value);
out.close();
}
catch (Exception a)
{
System.out.println(a);
}
}
}
}
评论
呵呵,以前写在百度博客的。搬过来后就挂图了。不理啦哈哈哈
发表评论
-
关于交友网站系统的开发
2010-12-10 19:27 1016交友机构作为“感情桥 ... -
www.xhigo.com.cn 第一期开发笔记【原创】
2010-12-10 19:13 1050酝酿了一段时间,一直想做一个实用性的网站出来并且把它经营好 ... -
银行家算法+银行家算法流程图+具体代码【转】
2010-12-10 19:03 3678计算机操作系统>一书 ... -
我的第一个原创J2ME游戏:砸飞机。
2010-12-10 19:00 1547呵呵,前段时间在网上认识了个从业J2ME开发的前辈,觉得他 ... -
J2ME音乐程序【原创】
2010-12-10 17:31 845import java.io.IOException; im ... -
爬楼梯递归算法(C++)【原创】
2010-12-10 17:23 2635#include "iostream.h" ... -
棋盘覆盖算法(分治算法)
2010-12-10 16:10 1459就说在一个2的K次方乘以2的K次方的棋盘里,又一个特殊的方格, ... -
大二用java开发的一个不用数据库支持的通讯录
2010-12-10 16:06 1203在大二第一学期的时候,在学习了JAVA中的输入输出流后老师要我 ... -
我一生第一个程序(C编写)【原创】
2010-12-10 16:03 992记得大一时候刚刚接触了电脑,像个傻B一样,把什么东西都往C盘( ...
相关推荐
java多线程结合界面开发实例(原创)财务管理系统源代码和效果图[参考].pdf
java多线程结合界面开发实例(原创)财务管理系统源代码和效果图.pdf
java多线程结合界面开发实例(原创)财务管理系统源代码和效果图知识.pdf
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
ThreadImRunnable.java 继承Runnable接口实现多线程 mulThread.java 创建多个线程对象的类 demoJoin.java 演示使用join()以确保主线程最后结束 clicker.java 一个计数用的线程类 demoPri.java 调用上面这个类...
实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符(教学视频:39分钟) 9 2.1 基础类型 9 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 ...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
实例278 通过指定的URL可以获取网页的源代码 542 实例279 一对多通信模式 544 实例280 自制浏览器 549 实例281 扫描TCP端口 551 实例282 TCP协议服务器 552 实例283 TCP协议客户机 553 实例284 Socket连接信息 555 ...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
HTML5开发精要与实例详解(完整版源代码含说明文档)内容分为两大部分:第一部分通过一系列中大型案例全方位对html 5的各个重要知识点进行了详细的讲解,每个案例包含案例概述、页面效果展示、案例所涉及主要知识点...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符(教学视频:39分钟) 9 2.1 基础类型 9 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 实例5...
实例055 如何创建多线程程序 实例056 如何创建可独立执行程序 实例057 如何编写单文档应用程序 实例058 如何编写多文档应用程序 实例059 如何编写COM服务器程序 实例060 如何编写COM客户端程序 实例061 如何...
2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。...
实例232 多线程同步方法的实例 436 实例233 ATM存取一体机(线程同步互斥) 437 实例234 我的钱哪里去了 440 实例235 门锁打不开了(死锁) 444 实例236 门锁终于被打开了(解决死锁) 446 实例237 一个死锁的...
2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。...