📄 personaltaxcs.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 + -