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

📄 scoreframe.java

📁 java课程的资料以及实验的代码
💻 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 + -