⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 personaltaxcs.java

📁 java实现的税务计算器程序。中英文操作界面
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import java.text.NumberFormat;
import javax.swing.*;
import java.io.*;
import java.util.Hashtable;
public class PersonalTaxCS extends JFrame implements ActionListener
{
	//setTitle("The ");
	//基本变量和对象声明
	TaxCalculator tax=null;
	GUITable printtable=null;
    JMenuBar bar1;//bar2;//define a JMenubar to add menus
    JMenu FileMenu,EditMenu,Options;//define a FileMenu to add menu buttons
    JMenuItem 计算,退出,打印报表;
    Container con=null;
    Hashtable 基本信息=null;
    File file=null;
    CardLayout card=null;
    JLabel label;
    JPanel pCenter;
    public int language=0;//定义选择操作语言种类:0-英语,1-中文
    JRadioButtonMenuItem menuItem1,menuItem2;
    public PersonalTaxCS()//begin of constructor
    {
      card=new CardLayout();
      con=getContentPane();
      pCenter=new JPanel();
      pCenter.setLayout(card);

      Init();

     /* tax=new TaxCalculator(language);
      pCenter.add("欢迎界面",label);
      pCenter.add("计算界面",tax);
      con.add(pCenter,BorderLayout.CENTER);
      con.validate();
      */
      addWindowListener(new WindowAdapter()
                    { public void windowClosing(WindowEvent e)
                       {
                          System.exit(0);
      	               }
                    });
      setVisible(true);
      setBounds(100,50,700,500);
      validate();

    /*  JMenuBar bar = new JMenuBar();
      JMenu menu = new JMenu("Options");
      menu.setMnemonic(KeyEvent.VK_O);

      ButtonGroup group = new ButtonGroup();

      JRadioButtonMenuItem menuItem = new JRadioButtonMenuItem("A");
      group.add(menuItem);
      menu.add(menuItem);

      menuItem = new JRadioButtonMenuItem("B");
      group.add(menuItem);
      menu.add(menuItem);

      menuItem = new JRadioButtonMenuItem("C");
      group.add(menuItem);
      menu.add(menuItem);

      bar.add(menu);
     setJMenuBar(bar);
     setSize(300, 200);
      setVisible(true);*/
    }//end of constructor
    //初始化函数,完成控件和菜单等的添加和事件监听等初始化操作
    public void Init()
    {
    	setTitle(language==0?"The PersonalTax Calcilator Of ZhaoMB":"赵明斌的个人税务计算器");
        计算=new JMenuItem(language==0?"Calculator":"计算");//Add the Calculator menu button
        退出=new JMenuItem(language==0?"Exit":"退出");      //Add the Exit menu button
        打印报表=new JMenuItem(language==0?"Print&Modify Tax Table":"打印与编辑税务报表");
        退出.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent event)
            {
                System.exit(1);
            }
        });
        bar1=new JMenuBar();
        //bar2=new JMenuBar();
        FileMenu=new JMenu(language==0?"Files":"文件");
        EditMenu=new JMenu(language==0?"Edit":"编辑");
        Options=new JMenu(language==0?"Options":"选项");
        FileMenu.add(计算);
        FileMenu.addSeparator();
        FileMenu.add(退出);
        bar1.add(FileMenu);
        EditMenu.add(打印报表);
        bar1.add(EditMenu);
        Options.setMnemonic(KeyEvent.VK_O);

        ButtonGroup group = new ButtonGroup();
        menuItem1 = new JRadioButtonMenuItem("English");
        //?怎样使程序默认选择的是英语呢?
        group.add(menuItem1);
        Options.add(menuItem1);

        menuItem2 = new JRadioButtonMenuItem("简体中文");
        group.add(menuItem2);
        Options.add(menuItem2);
        if(language==0)menuItem1.setSelected(true);
        else menuItem2.setSelected(true);
        bar1.add(Options);
        setJMenuBar(bar1);
       //setJMenuBar(bar2);//过多定义了一个JMenuBar;怪不得老是被覆盖掉呢
       // label=new JLabel("Welcome to PersonalTax Calculator",label.CENTER);
        //Why 用language==0?:这条语句加上中文也不显示中文呢?

       label=new JLabel(language==0?"Welcome to PersonalTax Calculator":"欢迎使用赵明斌的个人税务计算器",label.CENTER);

        //为什么改成if else语句选择语言是还是不能刷新呢?
        label.setFont(new Font("隶书",Font.BOLD,30));
        label.setForeground(Color.blue);

        计算.addActionListener(this);
        退出.addActionListener(this);
        menuItem1.addActionListener(this);
        menuItem2.addActionListener(this);
        打印报表.addActionListener(this);

        tax=new TaxCalculator(language);

        //添加到容器
        pCenter.add("欢迎界面",label);
        pCenter.add("计算界面",tax);
        //pCenter.add("打印报表界面",printtable);
        con.add(pCenter,BorderLayout.CENTER);
        con.validate();

        //设置可见性
        setVisible(true);
        setBounds(100,50,700,500);
        validate();
    }
    public void actionPerformed(ActionEvent e)
    {
     if(e.getSource()==计算)
     {
         card.show(pCenter,"计算界面");
     }
     else if(e.getSource().equals(menuItem1))
     {
    	 language=0;
    	 //PersonalTaxCS//刚开始没有定义Init函数,试图调用构造函数初始化,犯了一个弱智的错误
    	 Init();
    	 tax.validate();
    	 pCenter.validate();
    	 //card.show(pCenter,"计算界面");
     }
     else if(e.getSource().equals(menuItem2))
     {
    	 language=1;
    	 Init();
    	 tax.validate();
    	 pCenter.validate();
     }
     else if(e.getSource()==打印报表){

		printtable=new GUITable(language);
	 }
    }
    public static void main(String args[])
    {
        new PersonalTaxCS();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -