📄 weapon_calculator.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.*;
public class Weapon_Calculator extends JFrame implements ActionListener,ListSelectionListener,KeyListener
{
JPanel pThe_Main;
JButton bCalculator,bClose;
JLabel lInput_hint,lFamily_name,lNickname;
JLabel lResult;
JTextField tFamily_name,tNickname,tResult;
//windows location
Dimension screensize;
Toolkit toolkit=Toolkit.getDefaultToolkit();
public Weapon_Calculator()
{
super("武器计算器");
pThe_Main=new JPanel();
this.getContentPane().add(pThe_Main);
pThe_Main.setBackground(new Color(52,130,203));
pThe_Main.setLayout(null);
pThe_Main.setName("test");
//initialization
lInput_hint=new JLabel("请输入您的姓名:");
lFamily_name=new JLabel("请输入姓氏:");
tFamily_name=new JTextField(5);
tFamily_name.setToolTipText("(复姓输入两个字)");
lNickname=new JLabel("请输入名字:");
tNickname=new JTextField(5);
tNickname.setToolTipText("限定字长6");
lResult=new JLabel("您的武器是:");
tResult=new JTextField(10);
tResult.setEnabled(false);
bCalculator=new JButton("计算(S)");
bCalculator.setToolTipText("开始计算");
bCalculator.setMnemonic('S');
bClose=new JButton("关闭(C)");
bClose.setToolTipText("关闭窗口");
bClose.setMnemonic('C');
//Font setup
Font fontset=new Font("黑体",Font.BOLD,12);
lInput_hint.setFont(fontset);
lFamily_name.setFont(fontset);
tFamily_name.setFont(fontset);
lNickname.setFont(fontset);
tNickname.setFont(fontset);
lResult.setFont(fontset);
tResult.setFont(fontset);
bCalculator.setFont(fontset);
bClose.setFont(fontset);
//Color setup
lInput_hint.setForeground(Color.black);
lFamily_name.setForeground(Color.black);
tFamily_name.setForeground(Color.black);
tFamily_name.setDisabledTextColor(Color.BLACK);
lNickname.setForeground(Color.black);
tNickname.setForeground(Color.black);
tNickname.setDisabledTextColor(Color.BLACK);
lResult.setForeground(Color.black);
tResult.setForeground(Color.black);
tResult.setDisabledTextColor(Color.BLACK);
bCalculator.setBackground(Color.WHITE);
bClose.setBackground(Color.WHITE);
//set location
lInput_hint.setBounds(5,1,165,25);
lFamily_name.setBounds(5,20,75,22);
tFamily_name.setBounds(5,40,80,22);
lNickname.setBounds(95,20,75,22);
tNickname.setBounds(95,40,85,22);
lResult.setBounds(5,70,80,22);
tResult.setBounds(80,70,100,22);
bCalculator.setBounds(5,98,85,22);
bClose.setBounds(95,98,85,22);
//add module for frame
pThe_Main.add(lInput_hint);
pThe_Main.add(lFamily_name);
pThe_Main.add(tFamily_name);
pThe_Main.add(lNickname);
pThe_Main.add(tNickname);
pThe_Main.add(lResult);
pThe_Main.add(tResult);
pThe_Main.add(bCalculator);
pThe_Main.add(bClose);
//Game windows setup
setResizable(false);
setSize(192,152);
setVisible(true);
screensize=toolkit.getScreenSize();
setLocation(screensize.width/2-this.getWidth()/2,screensize.height/2-this.getHeight()/2);
Image img=toolkit.getImage("icon.png");
setIconImage(img);
//register listener
bCalculator.addActionListener(this);
bClose.addActionListener(this);
bCalculator.addKeyListener(this);
tFamily_name.addKeyListener(this);
tNickname.addKeyListener(this);
}
public void keyPressed(KeyEvent e)
{
int a=e.getKeyCode();
if(a==10)
{
if(testStart())
return;
String Weapon_Name,temp;
char temp_char;
temp=GetFirstLetter.getFirstLetter(tFamily_name.getText());
Weapon_Name=Process_Weapon.Weapon_firName_process(temp);
temp=GetFirstLetter.getFirstLetter(tNickname.getText());
if(temp.length()>2)
{
temp_char=temp.charAt(0);
Weapon_Name+="·"+Process_Weapon.Weapon_midName_process(temp_char);
temp_char=temp.charAt(2);
Weapon_Name+="·"+Process_Weapon.Weapon_lastName_process(temp_char);
}
else if(temp.length()>1)
{
temp_char=temp.charAt(0);
Weapon_Name+="·"+Process_Weapon.Weapon_midName_process(temp_char);
temp_char=temp.charAt(1);
Weapon_Name+="·"+Process_Weapon.Weapon_lastName_process(temp_char);
}
else
{
temp_char=temp.charAt(0);
Weapon_Name+="·"+Process_Weapon.Weapon_lastName_process(temp_char);
}
tResult.setText(Weapon_Name);
}
}
public void actionPerformed(ActionEvent be)
{
Object source=be.getSource();
if(source.equals(bCalculator))
{
if(testStart())
return;
String Weapon_Name,temp;
char temp_char;
temp=GetFirstLetter.getFirstLetter(tFamily_name.getText());
Weapon_Name=Process_Weapon.Weapon_firName_process(temp);
temp=GetFirstLetter.getFirstLetter(tNickname.getText());
if(temp.length()>2)
{
temp_char=temp.charAt(0);
Weapon_Name+="·"+Process_Weapon.Weapon_midName_process(temp_char);
temp_char=temp.charAt(2);
Weapon_Name+="·"+Process_Weapon.Weapon_lastName_process(temp_char);
}
else if(temp.length()>1)
{
temp_char=temp.charAt(0);
Weapon_Name+="·"+Process_Weapon.Weapon_midName_process(temp_char);
temp_char=temp.charAt(1);
Weapon_Name+="·"+Process_Weapon.Weapon_lastName_process(temp_char);
}
else
{
temp_char=temp.charAt(0);
Weapon_Name+="·"+Process_Weapon.Weapon_lastName_process(temp_char);
}
tResult.setText(Weapon_Name);
}
if(source.equals(bClose))
{
System.exit(0);
}
}
public void valueChanged(ListSelectionEvent arg0) {}
public void keyReleased(KeyEvent arg0) {}
public void keyTyped(KeyEvent arg0) {}
public boolean testStart()
{
if(tFamily_name.getText().equals(""))
{
JOptionPane.showMessageDialog(null, "请输入您的姓氏!");
return true;
}
if(tFamily_name.getText().length()>2)
{
JOptionPane.showMessageDialog(null, "输入的姓氏过长!");
return true;
}
if(tNickname.getText().equals(""))
{
JOptionPane.showMessageDialog(null, "请输入您的名字!");
return true;
}
if(tNickname.getText().length()>3)
{
JOptionPane.showMessageDialog(null, "输入的名字过长!");
return true;
}
return false;
}
public static void main(String agrs[]){
new Weapon_Calculator();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -