个人所得税应用程序设计 (j**a编写)
你的麻辣鸡腿
2024-06-05 18:49:25
最佳回答
import j**a.io.*;import org.eclipse.swt.widgets.*;import org.eclipse.swt.widgets.button;import org.eclipse.swt.widgets.text;import org.eclipse.swt.widgets.label;import org.eclipse.swt.widgets.shell;public class incomingtax { private shell sshell = **; // 创建各类可视化组件 private button button = **; private text text = **; private label label = **; private text textarea = **; private label label1 = **; private button button1 = **; private text textarea1 = **; private label label2 = **; private label label3 = **; private static final string new_line = system.getproperty("line.separator"); //静态的string,字符分割 private boolean haschanged = false; //定义一个boolean变量,当文本被更改时为ture private void createsshell() { //创建窗体及定义各种方法 sshell = new shell(swt.border | swt.shell_trim | swt.primary_modal); button = new button(sshell, swt.none); text = new text(sshell, swt.border); label = new label(sshell, swt.center); textarea = new text(sshell, swt.multi | swt.wrap | swt.v_scroll | swt.border); label1 = new label(sshell, swt.center); button1 = new button(sshell, swt.none); textarea1 = new text(sshell, swt.multi | swt.wrap | swt.v_scroll | swt.border); label2 = new label(sshell, swt.center); label3 = new label(sshell, swt.center); button.setbounds(new org.eclipse.swt.graphics.rectangle(232,153,54,35)); button.settext("open"); text.setbounds(new org.eclipse.swt.graphics.rectangle(223,80,72,20)); label.setbounds(new org.eclipse.swt.graphics.rectangle(203,45,110,26)); label.settext("tax free"); textarea.setbounds(new org.eclipse.swt.graphics.rectangle(5,39,169,341)); label1.setbounds(new org.eclipse.swt.graphics.rectangle(347,4,119,15)); label1.settext("taxable income"); button1.setbounds(new org.eclipse.swt.graphics.rectangle(231,215,51,35)); button1.settext("s**e"); textarea1.setbounds(new org.eclipse.swt.graphics.rectangle(328,39,171,335)); label2.setbounds(new org.eclipse.swt.graphics.rectangle(23,5,130,14)); label2.settext("income tax"); sshell.settext("negative income tax"); sshell.setminimized(false); sshell.setmaximized(false); label3.setbounds(new org.eclipse.swt.graphics.rectangle(178,354,146,17)); label3.settext("made by yangkun"); sshell.setsize(new org.eclipse.swt.graphics.point(512,417)); button .addselectionl**tener(new org.eclipse.swt.events.selectionadapter() { public void widgetselected( org.eclipse.swt.events.selectionevent e) { loadfile(); //**button的单击事件,当单击时,调用loadfile()方法 } }); button1 .addselectionl**tener(new org.eclipse.swt.events.selectionadapter() { public void widgetselected( org.eclipse.swt.events.selectionevent e) { s**efile(); //**button1的单击事件,当单击时,调用s**efile()方法 } }); } public static void main(string[] args) { //要运行swt,必须在vm中设置 // -dj**a.library.path="installation_directory\plugins\org.eclipse.swt.win32_3.0.1\os\win32\x86" org.eclipse.swt.widgets.d**play d**play = org.eclipse.swt.widgets.d**play.getdefault(); incomingtax test = new incomingtax(); test.createsshell() ; test.sshell.open(); while (!test.sshell.**d**posed()) { if (!d**play.readandd**patch()) d**play.sleep (); } d**play.d**pose(); }private void loadfile(){ filedialog dialog = new filedialog(sshell, swt.open); //创建一个打开的对话框 string result = dialog.open(); //将要打开的文件路径,赋值给string变量 result if (result != **) { file f = new file(result); double shuie = 0; double jine = 0; double jianfye = double.parsedouble(text.gettext()); //从text组件中,获取文本 try { bufferedreader br = new bufferedreader(new filereader(f)); //开启缓存给打开文件 stringbuffer buff = new stringbuffer(); //建立新的流缓存br string line = br.readline(); //当br读一行文本时,赋值给line string out = new string(); //创建空string,out string out2 = out; while (line != **) { //line不为**的时候,一直循环 shuie = double.parsedouble(line); //line的值,转换为double进行运算 if(shuie>29625){ jine = (shuie+15375)/0.45+jianfye; }else if(shuie>21625){ jine = (shuie+10375)/0.4+jianfye; }else if(shuie>14625){ jine = (shuie+6375)/0.35+jianfye; }else if(shuie>8625){ jine = (shuie+3625)/0.3+jianfye; }else if(shuie>3625){ jine = (shuie+1375)/0.25+jianfye; }else if(shuie>625){ jine = (shuie+375)/0.2+jianfye; }else if(shuie>175){ jine = (shuie+125)/0.15+jianfye; }else if(shuie>25){ jine = (shuie+25)/0.1+jianfye; }else{ jine = shuie/0.05+jianfye; } out = string.valueof(jine); //变量jine,以string的形式赋值给out out2=out2+"\n"+out; //进行string累加 buff.append(line + new_line); //已读取的文本加换行线 line = br.readline(); //继续读下一行 } textarea.settext(buff.tostring()); //将buff变量流化后,赋值给容器textarea textarea1.settext(out2); br.close(); //关闭br haschanged = false; //进行是否更改判断 } catch (filenotfoundexception e1) { //抛出异常的处理 e1.printstacktrace(); } catch (ioexception e1) { e1.printstacktrace(); } } } private void s**efile() { filedialog dialog = new filedialog(sshell, swt.s**e); //创建一个保存对话框 string result = dialog.open(); //将保存的路径赋值给result if (result != **) { file f = new file(result); try { bufferedwriter bw = new bufferedwriter(new filewriter(f)); //开启写文件流 string text = textarea1.gettext(); //将容器textarea中的文本赋值给string值text bw.write(text); //将text中的值写入文本 bw.close(); //关系bw通道 haschanged = false; //是否更改判断 } catch (filenotfoundexception e1) { //抛出异常的处理 e1.printstacktrace(); } catch (ioexception e1) { e1.printstacktrace(); } } } } 20210311