Esempio n. 1
0
  private JPanel createAdvisePanel(String itemName) {

    JPanel advisePanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
    advisePanel.setBackground(new java.awt.Color(255, 255, 255));

    WisdomAnalysisResult wisdomAnalysisResult = new WisdomAnalysisResult(result);

    JLabel adviseLabel = null;
    JLabel descLabel = null;
    if (itemName.equals(AnalysisResult.Metrics_TotalScore)) {
      adviseLabel = new JLabel();
      try {
        AdviseInfo advise =
            wisdomAnalysisResult.getAdvise(StructureCategory.LowScoreItemIdentifier);
        if (advise != null) {
          adviseLabel.setText(
              advise.getDesc() + ReportConstant.toMetricsName(advise.getComponentNameInfo()));
          advisePanel.add(adviseLabel);
        }
      } catch (JDependException e) {
        e.printStackTrace();
      }
    } else if (itemName.equals(AnalysisResult.Metrics_D)) {
      try {
        AdviseInfo advise = wisdomAnalysisResult.getAdvise(StructureCategory.DDomainAnalysis);
        if (advise != null) {
          descLabel = new JLabel();
          descLabel.setText(advise.getDesc());
          adviseLabel = new JLabel();
          adviseLabel.setFont(new java.awt.Font("宋体", 1, 15)); // NOI18N
          adviseLabel.setText(advise.getComponentNameInfo());
          JDependUIUtil.addClickTipEffect(adviseLabel);
          adviseLabel.addMouseListener(
              new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                  jdepend.model.Component component =
                      result.getTheComponent(((JLabel) evt.getSource()).getText());
                  ComponentDetailDialog d = new ComponentDetailDialog(component);
                  d.setModal(true);
                  d.setVisible(true);
                }
              });
          advisePanel.add(adviseLabel);
          advisePanel.add(descLabel);
        }
      } catch (JDependException e) {
        e.printStackTrace();
      }
    } else if (itemName.equals(AnalysisResult.Metrics_Balance)) {
      try {
        AdviseInfo advise =
            wisdomAnalysisResult.getAdvise(StructureCategory.CohesionDomainAnalysis);
        if (advise != null) {
          descLabel = new JLabel();
          descLabel.setText(advise.getDesc());
          adviseLabel = new JLabel();
          adviseLabel.setFont(new java.awt.Font("宋体", 1, 15)); // NOI18N
          adviseLabel.setText(advise.getComponentNameInfo());
          JDependUIUtil.addClickTipEffect(adviseLabel);
          adviseLabel.addMouseListener(
              new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                  jdepend.model.Component component =
                      result.getTheComponent(((JLabel) evt.getSource()).getText());
                  BalanceComponentDialog d = new BalanceComponentDialog(frame, component);
                  d.setModal(true);
                  d.setVisible(true);
                }
              });
          advisePanel.add(descLabel);
          advisePanel.add(adviseLabel);
        }
      } catch (JDependException e) {
        e.printStackTrace();
      }
    } else if (itemName.equals(AnalysisResult.Metrics_Encapsulation)) {
      try {
        final AdviseInfo advise =
            wisdomAnalysisResult.getAdvise(StructureCategory.EncapsulationDomainAnalysis);
        if (advise != null) {
          descLabel = new JLabel();
          descLabel.setText(advise.getDesc());
          adviseLabel = new JLabel();
          adviseLabel.setFont(new java.awt.Font("宋体", 1, 15)); // NOI18N
          adviseLabel.setText(advise.getComponentNameInfo());
          JDependUIUtil.addClickTipEffect(adviseLabel);
          adviseLabel.addMouseListener(
              new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                  jdepend.model.Component component =
                      result.getTheComponent(advise.getComponentNameInfo());
                  ClassListDialog d = new ClassListDialog(frame, component);
                  d.setModal(true);
                  d.setVisible(true);
                }
              });
          advisePanel.add(descLabel);
          advisePanel.add(adviseLabel);
        }
      } catch (JDependException e) {
        e.printStackTrace();
      }
    } else if (itemName.equals(AnalysisResult.Metrics_RelationRationality)) {
      Float rs = result.getAttentionRelationScale();
      adviseLabel = new JLabel();
      if (MathUtil.isZero(rs)) {
        adviseLabel.setText(BundleUtil.getString(BundleUtil.ClientWin_ScorePanel_RelationNormal));
      } else {
        adviseLabel.setText(
            BundleUtil.getString(BundleUtil.Metrics_AttentionRelationScale)
                + ":"
                + MetricsFormat.toFormattedPercent(rs));
        JDependUIUtil.addClickTipEffect(adviseLabel);
        adviseLabel.addMouseListener(
            new java.awt.event.MouseAdapter() {
              public void mouseClicked(java.awt.event.MouseEvent evt) {
                frame.getResultPanel().setTab(1, 1);
              }
            });
      }
      advisePanel.add(adviseLabel);
    }

    return advisePanel;
  }