搜档网
当前位置:搜档网 › java多线程结合界面开发实例(原创)财务管理系统源代码和效果图

java多线程结合界面开发实例(原创)财务管理系统源代码和效果图

java多线程结合界面开发实例(原创)财务管理系统源代码和效果图
java多线程结合界面开发实例(原创)财务管理系统源代码和效果图

以前常常听说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);

}

}

}

}

vb代码大全

用VB5实现窗口图象缩放、滚动技巧 成都理工学院计算机工程系 洪志全 ---- Visual Basic 是Windows 平台中最常用的应用软件开发语言, 窗口图像缩放、滚动是图像处理、多媒体数据库等应用软件开发中的基本功能。本文将介绍如何用VB 5.0 实现地窗口图像缩放和滚动技巧, 供读者在各种语言系统开发中参考。 ---- 一、获取图像 ---- 本文所介绍的图像缩放并没有对真正的图像进行缩放, 而是复制一幅窗口图像的真实画面, 对这个窗口图像附本进行局部缩放和滚动, 获取窗口图像可使用Windows 的API 函数来实现。具体来说, 实现窗口图像缩放、滚动需要用GetDeskTopWindow() 函数获取桌面窗口句柄, 再通过GetDC() 函数转换为描述表句柄, 则用BitBlt() 函数把桌面图像复制到任意图形容器控件中, 桌面图像复制完成后, 再用ReleaseDC 释放窗口描述表, 各API 函数的具体使用方法参见本文的例子程序。 ---- 本文所用的API 函数包含在WIN95/98 的GDI32.DLL 和USER32.DLL 动态链接库中, 在使用时可通过VB5.0 的TEXT VIEWER 复制到所开发的应用程序中。 ---- 二、图像缩放 ---- 图像缩放显示的基本原理就是把原图像的一部分缩放后再送入窗口的图形容器控件中, 在VB 中可用内部命令PaintPicture 来进行, 语法格式为: PaintPicture Pic,DestX,DestY,DestWidth, DestHeight,ScrX,ScrY,ScrWidth,ScrHeight ---- 其中,Pic 为图片对象, 如图形控件对象等; DestX,DestY为目标图像起始坐标; DestWidth,DestHeight为目标图像幅面尺寸; ScrX,ScrY为源图像起始坐标; ScrWidth,ScrHeight为源图像剪裁尺寸。 ---- 该命令就是把一个源图像资源任意复制到指定的区域, 其功能相当于API 函数的BitBlt, 但使用更简单, 若复制时改变源图像的ScrWidth,ScrHeight 或目标图像的DestWidth,DestHeight 可使复制后的图像尺寸发生变化, 实现窗口图像的缩放显示。若ScrWidth,ScrHeight 或

java图形界面之电子算盘

Java图形用户界面 院系: 计算机系姓名:后人好乘凉 一实验目的 ●使学生综合运用图形用户界面设计的概念; ●使学生熟悉使用中间面板,组成层次复杂的GUI界面; ●使学生掌握使用事件驱动编程; 二实验环境及实验准备 ●所需硬件环境为微机; ●所需软件环境为JDK、Eclipse; ●掌握Java下界面容器与基本组件的基本知识与应用; ●掌握Java下事件处理模型; ●掌握Java下图形绘制的方法; 三实验内容 (一)、设计实现电子算盘,并完成测试; [题目描述及要求] 给小朋友设计一个电子算盘。要求绘制电子算盘界面,设计并实现打珠算过程(界面参考如下图示)。 电子算盘参考界面示意 程序源代码: package calculator;

import java、awt、Color; //导入 import java、awt、GridLayout; import java、awt、Container; import javax、swing、JLabel; import javax、swing、JButton; import javax、swing、ImageIcon; import javax、swing、JPanel; import javax、swing、JFrame; import javax、swing、JTextField; import java、awt、event、*; public class Calculator extends JFrame{ public int totalNumber; public int t = 0; public boolean[] isAddFive = new boolean[5]; public int number[] = new int[5]; public ImageIcon picture = new ImageIcon(System、getProperty("user、 dir") + "/算珠、jpg" ); //添加图片 public ImageIcon picture1= new ImageIcon(System、getProperty("user、 dir") + "/算珠1、jpg" ); Container con = getContentPane(); JPanel j1 = new JPanel(); JPanel j2 = new JPanel(); JPanel j3 = new JPanel(); JPanel time=new JPanel(); JLabel q = new JLabel(); JLabel nA = new JLabel(); JLabel Time=new JLabel(new ImageIcon("、/时钟、jpg")); //添加时钟标签的图片 JTextField a = new JTextField(); JButton Buttons_1[][] = new JButton[2][5]; JButton Buttons_2[][] = new JButton[5][5]; GridLayout gl_1 = new GridLayout(2,5); GridLayout gl_2 = new GridLayout(5,5); GridLayout gl_3 =new GridLayout(); public Calculator() { super("电子算盘"); setDefaultCloseOperation(JFrame、EXIT_ON_CLOSE); setBounds(100,100,600,400); setVisible(true); setLayout(null); AbacusPanel(); } public void AbacusPanel() // 算盘面板

java图形用户界面设计

实验名称:图形用户界面设计 一、实验目的 1.掌握常用图形界面组件(按钮、文本框等)对象的创建及其常用方法的使用。如,按钮的常用方法是getLabel(),文本框的常用方法有setText(),getText()等。 2.掌握常用的布局管理类CardLayou,BorderLayout,FlowLayout,GridLayout的使用策略。能够将它们联合起来使用。 3.掌握java语言的事件处理。每个事件对应的接口(或适配器类)是什么,每个接口有哪些方法,如何进行委托处理,被委托者必须做什么。 二、实验环境(软件、硬件环境) PC机 JDK包 三、实验原理 通过图形用户界面(GUI),用户和程序之间可以方便地进行交互。javax.swing包中的组件类可以帮助我们完整界面的设计。javax.swing包的JComponent类是java.awt包中的Container类的一个直接子类、Component类的间接子类。javax.swing包中的JFrame类和JDialog类分别是java.awt包中Frame类和Dialog类的直接子类、Window类的间接子类。在学习GUI编程时,必须很好地理解并掌握两个概念:容器类和组件类,必须很好地掌握java的事件处理机制。 四、实验容及步骤 实验容:密码验证问题。 编写一个Java程序,实现用户根据自己的密码进入界面,如果用户输入信息正确,则输出“欢迎XXX用户”,否则用户还可以尝试两次,如果尝试阶段输入信息错误,则输出“请输入正确的信息”,如果尝试失败,用户则退出。 调试并编译程序PasswordVerification.java,运行该程序,运行结果如图8-1、图8-2、

vb常见题型汇总代码

1.Private Sub Command1_Click() Dim r As Double, c As Double, s As Double Dim pi As Double pi = 3.1415926 r = Val(Text1.Text) c = pi * 2 * r s = pi * r * r Label3.Caption = "圆的周长为" + Str(c) + "厘米" Label4.Caption = "圆的面积为" + Str(s) + "平方厘米" End Sub 2.(5秒5分倒计时) Dim n As Integer Private Sub Command1_Click() If Option1.Value Then n = 5 If Option2.Value Then n = 300 Timer1.Enabled = True Frame1.Enabled = False Command1.Enabled = False End Sub Private Sub Form_Load() Timer1.Enabled = False Timer1.Interval = 1000 End Sub Private Sub Timer1_Timer() n = n - 1 Text1.Text = Str(n \ 60) & "分" & Str(n Mod 60) & "秒" If n <= 0 Then Timer1.Enabled = False Frame1.Enabled = True Text1.Text = "时间到" End If End Sub 3.心想事成 Dim x As Integer Private Sub Command1_Click() Timer1.Enabled = True If Command1.Caption = "开始" Then Timer1.Enabled = True Command1.Caption = "停止" Else Timer1.Enabled = False Command1.Caption = "开始" End If End Sub Private Sub Form_Load() Timer1.Interval = 100 x = -100 End Sub Private Sub Timer1_Timer() Label1.Left = Label1.Left + x If Label1.Left <= 0 Then x = 100 If Label1.Left >= Form1.ScaleWidth - Label1.Width Then x = -100 End Sub 4.我的调色板(滚动条) Private Sub Command1_Click() Label5.ForeColor = Label4.BackColor End Sub Private Sub HScroll1_Change() Label4.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) End Sub Private Sub HScroll2_Change() Label4.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) End Sub Private Sub HScroll3_Change() Label4.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) End Sub 5.字形字体颜色(复选框,单选)Private Sub Check1_Click() If Check1.Value = 1 Then Text1.FontBold = True Else Text1.FontBold = False End If End Sub Private Sub Check2_Click() If Check1.Value = 1 Then

VB键盘常量大全 256个虚拟键码

Public Const VK_LBUTTON = &H1 Public Const VK_RBUTTON = &H2 Public Const VK_CANCEL = &H3 Public Const VK_MBUTTON = &H4 Public Const VK_BACK = &H8 Public Const VK_TAB = &H9 Public Const VK_CLEAR = &HC Public Const VK_RETURN = &HD Public Const VK_SHIFT = &H10 Public Const VK_CONTROL = &H11 Public Const VK_MENU = &H12 Public Const VK_PAUSE = &H13 Public Const VK_CAPITAL = &H14 Public Const VK_ESCAPE = &H1B Public Const VK_SPACE = &H20 Public Const VK_PRIOR = &H21 Public Const VK_NEXT = &H22 Public Const VK_END = &H23 Public Const VK_HOME = &H24 Public Const VK_LEFT = &H25 Public Const VK_UP = &H26 Public Const VK_RIGHT = &H27 Public Const VK_DOWN = &H28 Public Const VK_Select = &H29 Public Const VK_PRINT = &H2A Public Const VK_EXECUTE = &H2B Public Const VK_SNAPSHOT = &H2C Public Const VK_Insert = &H2D Public Const VK_Delete = &H2E Public Const VK_HELP = &H2F Public Const VK_0 = &H30 Public Const VK_1 = &H31 Public Const VK_2 = &H32 Public Const VK_3 = &H33 Public Const VK_4 = &H34 Public Const VK_5 = &H35 Public Const VK_6 = &H36 Public Const VK_7 = &H37 Public Const VK_8 = &H38 Public Const VK_9 = &H39 Public Const VK_A = &H41 Public Const VK_B = &H42 Public Const VK_C = &H43 Public Const VK_D = &H44

java实验报告实验六Java图形用户界面

信息工程学院 Java程序设计实习报告 JAVA图形用户界面 实验六Java图形用户界面 1.实验目的 (1)掌握图形用户界面基本组件。 (2)了解如何使用布局管理器对组件进行管理。 (3)掌握Java事件处理机制。 2.实验内容 实验题 1 编写一个模拟计算器的程序,使用面板与网格布局,添加一个文本框,10个数字按钮(0-9),4个加减乘除按钮,一个等号按钮,一个清除按钮,要求将计算公式与结果显示在文本框中。 运行结果: 实验报告的内容与格式按任课教师的要求书写。

加法: 主要代码: private void initComponents() { jButton1 = new javax、swing、JButton(); jButton2 = new javax、swing、JButton(); jButton3 = new javax、swing、JButton(); jButton4 = new javax、swing、JButton(); jButton5 = new javax、swing、JButton(); jButton6 = new javax、swing、JButton(); jButton7 = new javax、swing、JButton(); jButton8 = new javax、swing、JButton(); jButton9 = new javax、swing、JButton(); jButton10 = new javax、swing、JButton(); jButton11 = new javax、swing、JButton(); jButton12 = new javax、swing、JButton(); jButton13 = new javax、swing、JButton(); jButton14 = new javax、swing、JButton(); jButton15 = new javax、swing、JButton(); jTextField1 = new javax、swing、JTextField(); setStub(null); jButton1、setText("3"); jButton1、addActionListener(new java、awt、event、

java图形化界面练习及答案

作业标题:第四次练习题(总分:得分:分)一、单选题(共有题目15题,共计分) 1. 下列属于容器的组件有 A. JButton B. JPane C. Canvas D. JTextArea 学生的答案: B 标准答案: B 该题分数: 学生得分: 分 2. 下列方法中,不属于WindowListener接口的是A. windowOpened() B.

windowClosed() C. windowActivated() D. windowAdapter 学生的答案: D 标准答案: D 该题分数: 学生得分: 分 3. 下列不属于Swing中组件的是( )。 A. JPanel B. JTable C. Menu D. JFrame 学生的答案: C 标准答案: C 该题分数:

学生得分: 分 4. 以下Swing组件中哪一个不是顶层容器组件( )。 A. 框架 B. 对话框 C. 面板 D. 小程序 学生的答案: C 标准答案: A 该题分数: 学生得分: 0分 5. 对于Swing基本控件单选框,若要使两个单选框对象之间具有相互排斥的关系,需要( )。 A. 创建两个单选框对象时定义相同的对象名 B. 将两个单选框对象放在同一个面板上

定义一个ButtonGroup对象group,将两个单选框对象加到group中D. 让两个单选框排成一行或一列 学生的答案: C 标准答案: C 该题分数: 学生得分: 分 6. 容器被重新设置大小后,( )布局管理器的容器中的组件大小不随容器大小的变化而改变。 A. CardLayout B. FlowLayout C. BorderLayout D. GridLayout 学生的答案: B 标准答案: B 该题分数: 学生得分: 分

VB代码大全

隐藏form1: form1.hide 显示form1: form1.show --------------------------------------------------------------------------------------------- 退出程序时,弹出窗口提示是否要退出: Private Sub Form_Unload(Cancel As Integer) Dim iAnswer As Integer iAnswer = MsgBox("真要退出吗?", vbYesNo) If iAnswer = vbNo Then Cancel = True Else End End If End Sub ---------------------------------------------------------------------------------------------- 只能用任务管理器关闭程序的代码: Private Sub From_Unload(Cancel As Integer) Cancel = true End Sub ------------------------------------------------------------------------------------------------ 点击command1打开33IQ网: Dim strURL Private Sub Command1_Click() strURL = "错误!超链接引用无效。 Shell "explorer.exe " & strURL, 1 End Sub ------------------------------------------------------------------------------------------------ 运行c:\1.exe shell "c:\1.exe" 执行c:\1.bat shell "c:\1.bat" 注:只适用于大部分exe和全部bat。

java简单图形用户界面代码

package dsr; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import https://www.sodocs.net/doc/0216225396.html,.Socket; public class Login extends JFrame implements ActionListener{ //定义组件 JPanel northPanel,southPanel,centerPanel,centerPanel1,centerPanel11,centerPanel12; JButton loginBtn,registerBtn,cancalBtn; JLabel userLbl,passwordLbl,titleLbl; JTextField userTxt; JPasswordField passwordPwd; static String name; public Login () { super("用户登录"); northPanel=new JPanel(); southPanel=new JPanel(); centerPanel1=new JPanel(); centerPanel11=new JPanel(); centerPanel12=new JPanel(); //标题 titleLbl=new JLabel("欢迎进入考试系统"); titleLbl.setFont(new Font("隶书",Font.BOLD,24)); northPanel.add(titleLbl); this.add(northPanel,BorderLayout.NORTH); //中间部分 centerPanel1.setLayout(new BorderLayout()); userLbl=new JLabel("用户名"); userTxt=new JTextField(12); centerPanel11.add(userLbl); centerPanel11.add(userTxt); centerPanel1.add(centerPanel11,BorderLayout.NORTH); passwordLbl=new JLabel("密码"); passwordPwd=new JPasswordField(12); centerPanel12.add(passwordLbl); centerPanel12.add(passwordPwd);

java课程设计报告_简单图形界面计算器的设计

Java 课程设计 简单图形界面计算器的设计 课程名称 Java程序设计 选题名称简单图形界面计算器的设计 专业 班级 姓名 学号 指导教师 简单图形界面计算器的设计

一、设计任务与目标 本次java程序设计我的设计任务是设计一个图形界面(GUI)的计算器应用程序并且能够完成简单的算术运算。本次任务的基本要求是这个计算器应用程序可以完成十进制的加、减、乘、除、求倒、取余、开方运算,且有小数点、正负号、退格和清零功能。而我要在此基础上添加一项千位符分隔符的功能,即以三位为一级,在输入的一串数字中每三位加入一个逗号,这项功能国际通用,并已经成为惯例,会计记账都用这种方法便于账目核算与管理。 GUI计算器设计的具体目标: 1.完成十进制的加、减、乘、除、求倒、取余和开方运算; 2.有小数点和正负号加入运算; 3.有退格、复位和清零的功能; 4.有千位符分隔符的功能,即在输入的一串数字中每三位加入一个逗号。 二、方案设计与论证 1.设计目标的总体分析 (1)设计目标的需求分析:计算器是现在一个普遍应用的工具,能够解决许多人工所无法计算的数据,节省大量宝贵的时间。 (2)设计目标的功能分析:实现计算器系统的功能,主要有两个功能模块:输入和输出。 (3)设计原则:基于计算器系统要具有适用性广、操作简便等特点,本系统预计要达到以下几个目标:①满足以上的基本功能要求;②能够在常见的计算机及其操作系统上运行。 2.设计的基本思路 利用GUI的界面设计,将整个大设计分为三块,分别是数据的输入,运算符

功能符的控制和数据的输入输出显示。利用Swing控件,数据的输入由0~9这10个按钮来表示,用“+”、“-”、“*”、“/”、“1/x”、“%”、“sqrt”这7个按钮来表示加、减、乘、除、求倒、取余、开方运算,用“.”和“±”这2个按钮来表示小数点和正负号,用“Back”、“CE”和“C”这3个按钮来表示退格、复位和清零的功能,数据的输入输出显示由文本字段来表示。将计算器的总体界面设计好后,再将代码分别写入不同的按钮的源程序中。 我要完成的一项改进,即添加一个拥有千位符分隔符功能的按钮,按下这个按钮能够在输入的一串数字中每三位加入一个逗号并且显示出来。我要在之前的界面设计的基础上多添加一个按钮“$”来表示千位符分隔符,并且将功能代码写入这个按钮的源程序中。 三、程序流程图,程序清单与调用关系 1. 程序流程图:

Java基础实验报告-图形用户界面设计

南京工程学院 实验报告 课程名称 JAVA基础 实验项目名称图形用户界面设计 实验学生班级 实验学生姓名 学号 同组学生姓名 实验时间 实验地点 实验成绩评定 指导教师签字年月日

一、实验目的和要求 1.掌握Java Swing组建的使用方法,包括窗口、框架、对话框、面板、文本编辑框、按钮、组合框等多种布局方式,掌握窗口菜单和快捷菜单设计方式。 2.理解委托时间处理模型,掌握不同组件、不同事件的事件处理方法,设计出能够响应事件的Java图形用户界面。 3.熟悉在组件上绘图的方法。 二、实验题目 用表格存储并显示个人所得税税率表,给定一个月收入值,计算应缴的个人所得税。 三、实验方法与步骤(需求分析、算法设计思路、流程图等) 算法设计思路:本次实验题目为计算个人所得税,所以本人从网上找到了国家最新的税收政策,以下为截图:

因此,我设计了以下核心算法 public void actionPerformed(ActionEvent e) { if(e.getSource()==button_b) { double wage=Double.parseDouble((String)text_wage.getText()); double tax = 0; if(wage<=3500) tax=0; if(wage>3500&&wage<=5000) tax=(wage-3500)*0.03; if(wage>5000&&wage<=8000) tax=(wage-3500)*0.1-105; if(wage>8000&&wage<=12500) tax=(wage-3500)*0.2-555; if(wage>12500&&wage<=38500)

vba常用代码大全

前言 我们平时在工作表单元格的公式中常常使用函数,Excel自带的常用的函数多达300多个,功能强大,丰富多彩,但是在VBA中不能直接应用,必须在函数名前面加上对象,比如:Application.WorksheetFunction.Sum(arg1,arg2,arg3)。 而能在VBA中直接应用的函数也有几十个,下面将逐一详细介绍常用的40个VBA函数,以供大家学习参考。 第1.1例 ASC函数 一、题目: 要求编写一段代码,运行后得到字符串”Excel”的首字母和”e”的ASCII值。 二、代码: Sub 示例_1_01() Dim myNum1%, myNum2% myNum1 = Asc("Excel") '返回69 myNum2 = Asc("e") '返回101 [a1] = "myNum1= ": [b1] = myNum1 [a2] = "myNum2= ": [b2] = myNum2 End Sub 三、代码详解 1、Sub 示例_1_01():宏程序的开始语句。 2、Dim myNum1%, myNum2%:变量myNum1和myNum2声明为整型变量。 也可以写为 Dim myNum1 As Integer 。Integer 变量存储为 16位(2 个字节)的数值形式,其范围为 -32,768 到 32,767 之间。Integer 的类型声明字符是百分比符 号 (%)。

3、myNum1 = Asc("Excel"):把Asc函数的值赋给变量myNum1。 Asc函数返回一个 Integer,代表字符串中首字母的字符的ASCII代码。 语法 Asc(string) 必要的 string(字符串)参数可以是任何有效的字符串表达式。如果 string 中没有包含任何字符,则会产生运行时错误。 4、myNum2 = Asc("e"):把Asc函数的值赋给变量myNum2。这里返回小写字母e 的ASCII代码101。 5、[a1] = "myNum1= ": [b1] = myNum1:把字符串“myNum1= “赋给A1单元格,把变量myNum1的值赋给B1单元格。 6、[a2] = "myNum2= ": [b2] = myNum2:把字符串“myNum2= “赋给A2单元格,把变量myNum2的值赋给B2单元格。 7、End Sub:程序的结束语句,和“Sub示例_1_01()”相对应。 第1.2例 Chr函数 一、题目"": 要求编写一段代码,运用Chr函数将ASCII值转换为对应的字符。 二、代码: Sub 示例_1_02() Dim myChar1$, myChar2$ myChar1 = Chr(69) ' 返回 E。 myChar2 = Chr(101) ' 返回 e。 [a1] = "myChar1= ": [b1] = myChar1 [a2] = "myChar2= ": [b2] = myChar2

VB编程常用代码大全

VB编程常用代码大全 1.数值型函数: abs(num): 返回绝对值 sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负 hex(num): 返回十六进制值直接表示:&Hxx 最大8位 oct(num): 返回八进制值直接表示:&Oxx 最大8位 sqr(num): 返回平方根 num>0 int(num): 取整 int(99.8)=99; int(-99.2)=100 fix(num): 取整 fix(99.8)=99; fix(-99.2)=99 round(num,n): 四舍五入取小数位 round(3.14159,3)=3.142 中点数值四舍五入为近偶取整 round(3.25,1)=3.2 log(num): 取以e为底的对数 num>0 exp(n): 取e的n次幂通常用 num^n sin(num): 三角函数,以弧度为值计算 (角度*Pai)/180=弧度 con(num); tan(num); atn(num) 2.字符串函数: len(str):计算字符串长度中文字符长度也计为一! mid(str,起始字符,[读取长度]):截取字符串中间子字符串 left(str,nlen):从左边起截取nlen长度子字符串 right(str,nlen):从右边起截取nlen长度子字符串 Lcase(str):字符串转成小写 Ucase(str):字符串转成大写 trim(str):去除字符串两端空格 Ltrim(str):去除字符串左侧空格 Rtrim(str):去除字符串右侧空格 replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串 注:默认值:起始字符 1;替代次数不限;比较方法区分大小写(0) InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串可选参数需同时选返回起始位置 InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测是否包含子字符串返回起始位置 space(n):构造n个空格的字符串 string(n,str):构造由n个str第一个字符组成的字符串 StrReverse(str):反转字符串 split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组可选参数需同时选

vb编程代码大全

vb编程代码大全 1.数值型函数: abs(num): 返回绝对值 sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负 hex(num): 返回十六进制值直接表示:&Hxx 最大8位 oct(num): 返回八进制值直接表示:&Oxx 最大8位 sqr(num): 返回平方根num>0 int(num): 取整int(99.8)=99; int(-99.2)=100 fix(num): 取整fix(99.8)=99; fix(-99.2)=99 round(num,n): 四舍五入取小数位round(3.14159,3)=3.142 中点数值四舍五入为近偶取整round(3.25,1)=3.2 log(num): 取以e为底的对数num>0 exp(n): 取e的n次幂通常用num^n sin(num): 三角函数,以弧度为值计算(角度*Pai)/180=弧度con(num); tan(num); atn(num) 2.字符串函数: len(str):计算字符串长度中文字符长度也计为一! mid(str,起始字符,[读取长度]):截取字符串中间子字符串 left(str,nlen):从左边起截取nlen长度子字符串 right(str,nlen):从右边起截取nlen长度子字符串 Lcase(str):字符串转成小写 Ucase(str):字符串转成大写 trim(str):去除字符串两端空格 Ltrim(str):去除字符串左侧空格 Rtrim(str):去除字符串右侧空格 replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串 注:默认值:起始字符1;替代次数不限;比较方法区分大小写(0) InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串可选参数需同时选返回起始位置 InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测是否包含子字符串返回起始位置space(n):构造n个空格的字符串 string(n,str):构造由n个str第一个字符组成的字符串 StrReverse(str):反转字符串 split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组可选参数需同时选

Java图形用户界面实验报告

西安邮电大学 (计算机学院) 课内实验报告 实验名称:图形用户界面 专业名称:计算机科学与技术 班级:计科1405班 学生姓名:高宏伟 学号:04141152 指导教师:刘霞林 实验日期:一、实验目的 了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。 二、实验要求 1. 掌握使用布局管理器对组件进行管理的方法。

2. 理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。 3. 掌握编写独立运行的窗口界面的方法。 4. 掌握组件的使用方法。 5. 了解对话框的使用方法。 三、实验内容 (一)算术测试。 实验要求: 编写一个算术测试小软件,用来训练小学生的算术能力。程序由3个类组成,其中Teacher类对象负责给出算术题目,并判断回答者的答案是否正确; ComputerFrame类对象负责为算术题目提供视图,比如用户可以通过 ComputerFrame类对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答 案;MainClass是软件的主类。 程序模板: public class Teacher { int numberOne,numberTwo; String operator=""; boolean right; public int giveNumberOne(int n) { numberOne=(int)()*n)+1; return numberOne; } public int giveNumberT wo(int n) { numberTwo=(int)()*n)+1; return numberTwo; } public String giveOperator() { double d=(); if(d>= operator="+"; else operator="-"; return operator; } public boolean getRight(int answer) { if("+")) { if(answer==numberOne+numberTwo) right=true; else right=false; }

实验三图形用户界面设计(汽院含答案解析)

实验三图形用户界面设计 实验目的 1.掌握Java语言中GUI编程的基本方法 2.掌握Java语言中AWT组件的基本用法 3.掌握Java语言中Swing组件的基本用法 实验导读 1.通过图形用户界面(GUI:Graphics User Interface),用户和程序之间可以方便地 进行交互。 AWT(Abstract Windowing Toolkit),中文译为抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具。AWT由Java中的java.awt包提供,里面包含了许多可用来建立与平台无关的图形用户界面(GUI)的类,这些类又被称为组件(components)。 Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。 JDK写程序所有功能都是靠虚拟机去操作本地操作系统。比如window下,就是JDK 用windows API实现功能。而awt包中很多组件是组件自身去调用本地操作系统代码swing包中的组件采用的是调用本地虚拟机方法,由虚拟机再调用本地操作系统代码。意思就是中间多了一层,这样就加强了swing包的移植性,与本地关系不那强了。 图3.1 AWT常用组件继承关系图 Container为容器,是一个特殊的组件,该组件中可以通过add方法添加其他组件进来。 2.布局,容器中的组件的排放方式。常见的布局管理器:

FlowLayout(流式布局管理器):从左到右的顺序排列。Panel默认的布局管理器。 BorderLayout(边界布局管理器):东,南,西,北,中。Frame默认的布局管理器。 GridLayout(网格布局管理器):规则的矩阵 CardLayout(卡片布局管理器):选项卡 GridBagLayout(网格包布局管理器):非规则的矩阵 3.类JFrame是java.awt.Frame 的扩展版本,该版本添加了对JFC/Swing 组件架 构的支持,常用方法如下: 1)JFrame() 该构造方法可以创建一个无标题的窗口,窗口的默认布局为 BorderLayout布局。 2)JFrame(String s) 该构造方法可以创建一个标题为s的窗口,窗口的默认布 局为BorderLayout布局。 3)public void setBounds(int a,int b,int width,int height) 窗口调用该方法 可以设置出现在屏幕上时的初始位置是(a,b),即距屏幕左面a个像素、距屏 幕上方b个像素;窗口的宽是width,高是height。 4)public void setSize(int width,int height) 设置窗口的大小,窗口在屏幕出 现是默认位置是(0,0)。 5)public void setVisible(boolean b) 设置窗口是可见还是不可见,窗口默认 是不可见的。 6)public void setResizable(boolean b) 设置窗口是否可调整大小,窗口默认 是可调整大小的。 7)public void setDefaultCloseOperation(int operation) 设置用户在此窗体 上发起"close" 时默认执行的操作。 8)public void setLocationRelativeTo(Component c) 设置窗口相对于指定组 件的位置。如果组件当前未显示,或者c 为null,则此窗口将置于屏幕的 中央。 实验内容 1.图形用户界面设计程序(ArtFont.java) 要求:设计一个文字字体设置窗体,在该窗体中可以设置要显示文字的字体内容,包括字体名称、字体大小、粗体和斜体等字体风格。并模拟在不同操作系统下的显示效果。程序的最终显示效果如下: 提示:整个窗体继承于JFrame,采用BorderLayout布局。在窗体中添加三个JPanel:northPanel、centerPanel和southPanel,分别位于窗体的北部、中部和南部,然后分别在各个面板中添加其它组件,并逐步完善程序功能。

最新VB知识点总结

VB知识点总结大全 第一章VB入门(*) 1.2.2 主窗口 1.标题栏 三种工作模式 (1)设计模式:可进行界面设计、代码编制 (2)运行模式:不可编辑界面、代码 (3)中断模式:不可编辑界面,可以编辑代码 2.菜单栏 3.工具栏 1.2.3 设计窗口 1.窗体设计窗口 2.代码设计窗口 (1)打开方式: 1.单击菜单栏的视图——选择代码窗口 2.双击窗体、控件 3.单击工程资源管理器窗口的“查看代码” (2)主要内容 1.对象列表框:显示所选对象的名称。列出窗体所有可用的对象名。 2.过程列表框:列出所有对象列表框中对象的事件过程或自定义过程的 名称。 1.2.4属性窗口 由四部分组成: 1.对象列表框 2.属性排列方式:按字母排列、按分类排列 3.属性列表框:左边为属性名,右边为相应的属性值 4.属性含义说明:显示所选属性的含义 1.2.5 工程资源管理器窗口 (1)3个按钮 1.“查看代码”:切换到代码窗口,显示和编辑代码 2.“查看对象”:切换到窗体窗口,显示和编辑对象 3.“切换文件夹”:切换到文件夹显示方式 (2)包含两种类型的文件 1.窗体文件(.frm文件):储存窗体上所有控件对象和有关的属性、对象 相应的事件过程、程序代码。 2.标准模块文件(.bas文件):储存所有模块级变量和用户定义的通用过 程,该类型可选。 1.2.6 工具箱窗口

一般由21个按钮形式的图标构成。除指针外的20个为标准控件(指针不是控件),每个也是一个类。如:文本类、图形类等。 1.3.1 建立一个应用程序的步骤 1.建立用户界面的对象 2.对象属性的设置 3.创建对象事件过程及编程 4.运行和调试程序 5.保存程序和生成可执行文件 1.3.2 VB程序结构和编码规则 1.程序结构 (1)最上面为通用声明段,主要编写模块级以上的变量声明、Option选项的设置等。 (2)以下为程序代码的块结构,也就是事件过程或自定义过程,这构成程序的主体。块的先后次序与程序执行次序无关。 2.编码规则 (1)代码不区分字母的大小写 (2)语句书写自由 1.同一行可书写多个语句,语句间用冒号分隔 2.一个语句可分多行写,要在本行末加续行符“-”(空格和下划线) (3)为了程序的阅读、维护和调试,可加注释 1.一般用’(撇号)注释内容 2.也可使用工具栏的文本编辑器中的注释 第二章可视化编程基础(***) 2.1.2 类和象 1.对象:具体的控件或窗体等都是对象。 2.类:工具箱上的可视图标是标准控件类,如:命令按钮类、文本框类等。 注:窗体是个特例,它既是类也是对象。 2.1.3 对象的属性、方法和事件 属性、方法和事件构成了对象的三要素。 1.属性(用来描述和反映对象特征的参数) 设置属性的两种方法: (1)在设计时,通过属性窗口直接设置 (2)在代码中设置,通过赋值实现 大多数属性都可用以上两种方法设置,这种属性称为“可读写属性”,有一些只能通过属性窗口设置,此种属性称为“只读属性” 2.方法(附属于对象的行为和动作,也就是指使对象动作的命令) 如:Text1.setFocus (其中setFocus就是方法) 3.事件(如单击、双击、装载等都是事件) 事件和方法的简单区别:

相关主题