📄 scoreframe.java
字号:
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.*;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
class MyWindow extends WindowAdapter
{
ScoreFrame frm;
public MyWindow(ScoreFrame frm)
{
this.frm=frm;
}
public void windowClosing(WindowEvent e) {
if (JOptionPane.showConfirmDialog(null,"Are you sure?",
"confirm", JOptionPane.OK_CANCEL_OPTION)
==JOptionPane.OK_OPTION)
{
frm.dispose();//释放窗体,关闭
//System.exit(0);
}
}
}
public class ScoreFrame extends JFrame implements ActionListener{
//成员修饰符(private,缺省,protected,public)
JLabel[] lbl=new JLabel[5];//只生成五个标签的引用名
JTextField txtscore1=new JTextField();
JTextField txtscore2=new JTextField();
JTextField txtscore3=new JTextField();
JTextField txtscore4=new JTextField();
JButton btncalc=new JButton("计算这名同学的总评:");
//获得内容面板
Container c=this.getContentPane();//默认布局BorderLayout
//JPanel p1=new JPanel();//FlowLayout
JPanel p1=new JPanel(new GridLayout(4,2));
JPanel p2=new JPanel();
public ScoreFrame()
{
//默认调用父类的无参构造
//super();//必须第一句
String str[]={"学生表现综合评价","输入平时成绩","输入机试成绩","输入笔试成绩","该学生总评成绩为:"};
for(int i=0;i<lbl.length;i++)
{
lbl[i]=new JLabel(str[i]);//生成5个JLabel对象
}
c.add(lbl[0],BorderLayout.NORTH);
c.add(p1,BorderLayout.CENTER);
c.add(p2,BorderLayout.SOUTH);
p1.add(lbl[1]);
p1.add(txtscore1);
p1.add(lbl[2]);
p1.add(txtscore2);
p1.add(lbl[3]);
p1.add(txtscore3);
p1.add(lbl[4]);
p1.add(txtscore4);
p2.add(btncalc);
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
this.addWindowListener(new MyWindow(this));
this.setSize(200, 300);
this.setVisible(true);
btncalc.addActionListener(this);
txtscore1.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
//文本框监听到回车键时响应该方法
if (e.getSource().equals(txtscore1))
{
txtscore2.requestFocus();//获得焦点
}
else
{
double score1,score2,score3,score4;
try
{
score1=Double.parseDouble(txtscore1.getText());
score2=Double.parseDouble(txtscore2.getText());
score3=Double.parseDouble(txtscore3.getText());
if ((score1<0 || score1>100) || (score2<0 || score2>100)
|| (score3<0 || score3>100))
throw new Exception();
}
catch(Exception err)
{
JOptionPane.showMessageDialog(null, "不合法的分数");
return;
}
score4=score1*0.2+score2*0.4+score3*0.4;
txtscore4.setText(score4+"");
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ScoreFrame frm=new ScoreFrame();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -