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

📄 scorecompute.java

📁 JAVA学分计算器
💻 JAVA
📖 第 1 页 / 共 2 页
字号:


import java.awt.BasicStroke;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.util.regex.Pattern;

import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;

public class ScoreCompute extends JFrame{

	private JFrame jFrame = null; 

	private JPanel jContentPane = null;

	private JMenuBar jJMenuBar = null;

	private JMenu fileMenu = null;

	private JMenu helpMenu = null;

	private JMenuItem exitMenuItem = null;

	private JMenuItem aboutMenuItem = null;

	private JMenuItem saveMenuItem = null;

	private JDialog aboutDialog = null;  //  @jve:decl-index=0:visual-constraint="379,823"

	private JDialog helpDialog = null;  //  @jve:decl-index=0:visual-constraint="278,-5"
	
	private JPanel aboutContentPane = null;

	private JPanel helpContentPane = null;
	
	private JLabel aboutVersionLabel = null;
	
	private JLabel 	aboutHelpLabel = null;

	private JMenuItem useMenuItem = null;

	private JLabel xuekeLabel = null;
	
	private JLabel numberLabel = null;

	private JLabel scoreLabel = null;

	private JLabel xuefenLabel = null;

	private JTextField xuekeTextField = null;

	private JTextField scoreTextField = null;

	private JLabel tongjiLabel = null;
	

	private JButton jButton = null;

	private JComboBox jComboBox = null;

	private JList jList = null;

	private JLabel jLabel = null;

	private JLabel jLabel1 = null;

	private JLabel jLabel2 = null;
	
	private DefaultListModel listModel = null;

	private JButton jButton1 = null;

	private JButton jButton2 = null;
	
	private JScrollPane jScrollPane = null;
	
	private int remnum = 0;

	private JLabel jLabel11 = null;
	private JLabel jLabel12 = null;
	private JLabel jLabel13 = null;
	private JLabel jLabel14 = null;
	private JLabel jLabel15 = null;
	private JLabel jLabel16 = null;
	private JLabel jLabel17 = null;
	private JLabel jLabel18 = null;
	private JLabel jLabel19 = null;
	private JLabel jLabel20 = null;
	private JLabel jLabel21 = null;
	private JLabel jLabel22 = null;
	private JLabel jLabel23 = null;
	private JLabel jLabel24 = null;
	private JLabel jLabel25 = null;
	private JLabel jLabel26 = null;
	private JLabel jLabel27 = null;
	private JLabel jLabel28 = null;
	private JLabel jLabel29 = null;
	
	private int totalxuefen = 0;
	
	private double averagescore = 0;
	private double totalchengji = 0;
	
	private double averagepoint = 0;
	
	private double averagescorepoint = 0;
	/**
	 * This method initializes xuekeTextField	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getXuekeTextField() {
		if (xuekeTextField == null) {
			xuekeTextField = new JTextField();
			xuekeTextField.setBounds(new Rectangle(374, 13, 177, 

21));
		}
		return xuekeTextField;
	}
	//PanelExample newpaint = new PanelExample();

	/**
	 * This method initializes scoreTextField	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getScoreTextField() {
		if (scoreTextField == null) {
			scoreTextField = new JTextField();
			scoreTextField.setBounds(new Rectangle(374, 43, 176, 

19));
		}
		return scoreTextField;
	}

	/**
	 * This method initializes jButton	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton() {
		if (jButton == null) {
			jButton = new JButton();
			jButton.setBounds(new Rectangle(345, 115, 169, 23));
			jButton.setText("提    交");
			jButton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					char xuekechar[] = new char[10];
					
					//listnumber= jList.getLastVisibleIndex();
					
					String str="";
					String setright = "";
					
					String xuekestr = xuekeTextField.getText();
                    if(xuekeTextField.getText().trim().equals(""))
                    {
                    	JOptionPane.showMessageDialog(null, "您还未输入课程的名称!", "温馨提示",JOptionPane.INFORMATION_MESSAGE);
                    	setright="false";
                    }
                    else
                    	setright="ok";
                    if(setright=="ok"){
                    	
                    
					//处理成绩的输入,并做数字校验
					if(scoreTextField.getText().trim().equals("")||!Pattern.matches("^[0-9|.]*$",scoreTextField.getText())||scoreTextField.getText().trim().length()>4){
						setright="false";
					JOptionPane.showMessageDialog(null, "您未输入或输入的成绩有误!", "温馨提示",JOptionPane.INFORMATION_MESSAGE); 
					}
					
					else {
						double socrecheck = Double.parseDouble(scoreTextField.getText().trim());
						if(socrecheck<0||socrecheck>100){
							JOptionPane.showMessageDialog(null, "您未输入或输入的成绩有误!", "温馨提示",JOptionPane.INFORMATION_MESSAGE);
							setright="false";
						}
						else{
						str += scoreTextField.getText();
						setright="ok";
						}
					}
                    }
					if(setright == "ok"){
                    //str 格式处理
					str +="            "; //共计12个空格
					//处理jComboBox的选择
					if(jComboBox.getSelectedItem() == "请选择学分")
					{
						JOptionPane.showMessageDialog(null, "请你选择该门课程的学分!", "温馨提示",JOptionPane.INFORMATION_MESSAGE);
						setright = "false";
					}
					else{
						str += jComboBox.getSelectedItem();
					    setright = "ok";
					}
					}
					if(setright == "ok"){
                 //str 格式处理
					str +="     "; //共计5个空格
                    
					//限制课程名称的字符数不超过10 
					if(xuekestr.length() > 10){						
						xuekestr.getChars(0, 10, xuekechar, 0);
					    for(int i=0;i<10;i++){
							str += xuekechar[i];
							}
					}
					else
					{
						str +=xuekestr;			
					}
                    }
					if(setright=="ok")
					{
					listModel.addElement(str);
					jList.setModel(listModel);
					
					computercenter();
					
					
					xuekeTextField.setText("");
					scoreTextField.setText("");
					}
				}
			});
			//String score = scoreTextField.getText();
		}
		return jButton;
	}


	/**
	 * This method initializes jComboBox	
	 * 	
	 * @return javax.swing.JComboBox	
	 */
	private JComboBox getJComboBox() {
		if (jComboBox == null) {
			jComboBox = new JComboBox();
			jComboBox.addItem("请选择学分");
			jComboBox.addItem(0);
			jComboBox.addItem(1);
			jComboBox.addItem(2);
			jComboBox.addItem(3);
			jComboBox.addItem(4);
			jComboBox.addItem(5);
			jComboBox.addItem(6);
			jComboBox.addItem(7);
			jComboBox.addItem(8);
			
			jComboBox.setBounds(new Rectangle(374, 76, 110, 20));
		}
		return jComboBox;
	}

	/**
	 * This method initializes jList	
	 * 	
	 * @return javax.swing.JList	
	 */
	private JList getJList() {
		if (jList == null) {
			jList = new JList();
			listModel = new DefaultListModel();
			jList.setBounds(new Rectangle(6, 65, 268, 382));
		}
		return jList;
	}

	/**
	 * This method initializes jButton1	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton1() {
		if (jButton1 == null) {
			jButton1 = new JButton();
			jButton1.setBounds(new Rectangle(18, 455, 90, 25));
			jButton1.setText("移除");
			jButton1.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					
					remnum=jList.getSelectedIndex();
					if(remnum == -1)
						JOptionPane.showMessageDialog(null, "请选择要删除的项!", "温馨提示",JOptionPane.INFORMATION_MESSAGE);
					else
					listModel.remove(remnum);
					computercenter();
					
				}
			});
		}
		return jButton1;
	}

	/**
	 * This method initializes jButton2	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton2() {
		if (jButton2 == null) {
			jButton2 = new JButton();
			jButton2.setBounds(new Rectangle(144, 455, 90, 25));
			jButton2.setText("清空");
			jButton2.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					listModel.clear();
					computercenter();
					
				}
			});
		}
		return jButton2;
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				ScoreCompute application = new ScoreCompute();
				application.getJFrame().setVisible(true);
			}
		});
		


	}

	/**
	 * This method initializes jFrame
	 * 
	 * @return javax.swing.JFrame
	 */
	private JFrame getJFrame() {
		if (jFrame == null) {
			jFrame = new JFrame();
			jFrame.setDefaultCloseOperation

(JFrame.EXIT_ON_CLOSE);
			jFrame.setEnabled(true);
			jFrame.setResizable(false);
			jFrame.setLocation(new Point(200, 200));
			jFrame.setJMenuBar(getJJMenuBar());
			jFrame.setSize(957, 543);
			jFrame.setContentPane(getJContentPane());
			jFrame.setTitle("小智星——学分计算器(川大版)");
		}
		return jFrame;
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jLabel11 = new JLabel();
			jLabel11.setBounds(new Rectangle(11, 66, 22, 14));
			jLabel11.setText("1");
			jLabel12 = new JLabel();
			jLabel12.setBounds(new Rectangle(11, 86, 22, 14));
			jLabel12.setText("2");
			jLabel13 = new JLabel();
			jLabel13.setBounds(new Rectangle(11, 106, 22, 14));
			jLabel13.setText("3");
			jLabel14 = new JLabel();
			jLabel14.setBounds(new Rectangle(11, 126, 22, 14));
			jLabel14.setText("4");
			jLabel15 = new JLabel();
			jLabel15.setBounds(new Rectangle(11, 146, 22, 14));
			jLabel15.setText("5");
			jLabel16 = new JLabel();
			jLabel16.setBounds(new Rectangle(11, 166, 22, 14));
			jLabel16.setText("6");
			jLabel17 = new JLabel();
			jLabel17.setBounds(new Rectangle(11, 186, 22, 14));
			jLabel17.setText("7");
			jLabel18 = new JLabel();
			jLabel18.setBounds(new Rectangle(11, 206, 22, 14));
			jLabel18.setText("8");
			jLabel19 = new JLabel();
			jLabel19.setBounds(new Rectangle(11, 226, 22, 14));
			jLabel19.setText("9");
			jLabel20 = new JLabel();
			jLabel20.setBounds(new Rectangle(11, 246, 22, 14));
			jLabel20.setText("10");
			jLabel21 = new JLabel();
			jLabel21.setBounds(new Rectangle(11, 266, 22, 14));
			jLabel21.setText("11");
			jLabel22 = new JLabel();
			jLabel22.setBounds(new Rectangle(11, 286, 22, 14));
			jLabel22.setText("12");
			jLabel23 = new JLabel();
			jLabel23.setBounds(new Rectangle(11, 306, 22, 14));
			jLabel23.setText("13");
			jLabel24 = new JLabel();
			jLabel24.setBounds(new Rectangle(11, 326, 22, 14));
			jLabel24.setText("14");
			jLabel25 = new JLabel();
			jLabel25.setBounds(new Rectangle(11, 346, 22, 14));
			jLabel25.setText("15");
			jLabel26 = new JLabel();
			jLabel26.setBounds(new Rectangle(11, 366, 22, 14));
			jLabel26.setText("16");
			jLabel27 = new JLabel();
			jLabel27.setBounds(new Rectangle(11, 386, 22, 14));
			jLabel27.setText("17");
			jLabel28 = new JLabel();
			jLabel28.setBounds(new Rectangle(11, 406, 22, 14));
			jLabel28.setText("18");
			jLabel29 = new JLabel();
			jLabel29.setBounds(new Rectangle(11, 426, 22, 14));
			jLabel29.setText("19");
			
			
			
			
			
			
			
			jLabel2 = new JLabel();
			jLabel2.setBounds(new Rectangle(78, 41, 36, 18));
			jLabel2.setText("学分");
			jLabel1 = new JLabel();
			jLabel1.setBounds(new Rectangle(41, 41, 36, 18));
			jLabel1.setText("成绩");
			jLabel = new JLabel();
			jLabel.setBounds(new Rectangle(114, 41, 45, 18));
			jLabel.setText("课程名");
			numberLabel = new JLabel();
			numberLabel.setBounds(new Rectangle(9, 41, 32, 18));
			numberLabel.setText("编号");
			
			tongjiLabel = new JLabel();
			tongjiLabel.setBounds(new Rectangle(6, 6, 48, 29));
			tongjiLabel.setText("统计表");
			xuefenLabel = new JLabel();
			xuefenLabel.setBounds(new Rectangle(300, 72, 56, 23));
			xuefenLabel.setText("学     分 :");
			scoreLabel = new JLabel();
			scoreLabel.setBounds(new Rectangle(300, 43, 56, 23));
			scoreLabel.setText("总成绩 :");
			xuekeLabel = new JLabel();
			xuekeLabel.setBounds(new Rectangle(300, 13, 56, 23));
			xuekeLabel.setText("课程名 :");
			
			
			
			jContentPane = new JPanel();		
			jContentPane.setLayout(null);
			jContentPane = (JPanel)getContentPane();

			jContentPane.add(numberLabel, null);
			jContentPane.add(xuekeLabel, null);
			jContentPane.add(scoreLabel, null);
			jContentPane.add(xuefenLabel, null);

⌨️ 快捷键说明

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