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

📄 gradeview.java

📁 关于JAVA的代码连接数据库
💻 JAVA
字号:
package GradeManagement.ui;
import java.awt.*;
import java.util.Observer;
import java.util.Observable;
import javax.swing.*;

import GradeManagement.ComputeGrade;
import GradeManagement.model.GradeModel;
import GradeManagement.util.SystemConstants;

public class GradeView extends JPanel implements Observer {
   private GradeModel gradeModel;
   private JTextArea jp = new JTextArea(40, 60);

   public GradeView(GradeModel model) {
     setBackground(Color.white); // 设置背景颜色
     setDoubleBuffered(true);    // 避免屏幕闪烁
     setModel(model);
     jp.setEditable(false);      // 设置为不可编辑
     add("Center", new JScrollPane(jp));
   }//构造方法结束GradeView

   public void setModel( GradeModel model ) {
     if (gradeModel != null)
       gradeModel.deleteObserver( this );
     gradeModel = model;
     if ( model != null ) {
        model.addObserver( this );
        repaint();
     }
   } // 方法setModel结束

   public GradeModel getModel() {
      return gradeModel;
   }

   public void update( Observable observable, Object object ) {
      repaint();
   }

   public void paintComponent( Graphics g ) {
      super.paintComponent(g);
      jp.setText("");        // 清除文本区域
      jp.append( gradeModel.getDisTitle()  + "\n");
      jp.append( SystemConstants.SEPLINE );
      for (int i = 0; i < gradeModel.size(); i++) {
         jp.append(gradeModel.getIndex(i).toString());
         if (gradeModel.getComputFlag()) {
           jp.append(((ComputeGrade)gradeModel.getIndex(i)).sum() + "\t");
           jp.append(((ComputeGrade)gradeModel.getIndex(i)).average() + "\t");
         }
         jp.append("\n" + SystemConstants.SEPLINE);
      }
   } // 方法paintComponent结束

   public Dimension getPreferredSize() {
      return new Dimension( 500, 240 );
   }

   public Dimension getMinimumSize() {
      return getPreferredSize();
   }

   public Dimension getMaximumSize() {
      return getPreferredSize();
   }

   public void addNotify() {
      super.addNotify();
      gradeModel.addObserver( this );
   }

   public void removeNotify() {
      super.removeNotify();
      gradeModel.deleteObserver( this );
   }
} // 类GradeView结束

⌨️ 快捷键说明

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