1 19 20 package org.netbeans.modules.xml.multiview.ui; 21 22 import javax.swing.UIManager ; 23 import org.netbeans.modules.xml.multiview.Error; 24 26 32 public class ErrorPanel extends javax.swing.JPanel { 33 34 private Error error; 35 private ErrorLabel errorLabel; 36 private String errorMessage; 37 38 39 40 public ErrorPanel(final ToolBarDesignEditor editor) { 41 initComponents(); 42 43 errorLabel = new ErrorLabel(); 44 errorLabel.addMouseListener(new java.awt.event.MouseAdapter () { 45 public void mousePressed(java.awt.event.MouseEvent evt) { 46 Error error = getError(); 47 if (error!=null) { 48 Error.ErrorLocation errorLocation = error.getErrorLocation(); 49 if (errorLocation!=null) { 50 SectionPanel sectPanel = ((SectionView)editor.getContentView()).findSectionPanel(errorLocation.getKey()); 51 if (sectPanel.getInnerPanel()==null) sectPanel.open(); 52 sectPanel.scroll(); 53 javax.swing.JComponent errorComp = sectPanel.getErrorComponent(errorLocation.getComponentId()); 54 if (errorComp!=null) errorComp.requestFocus(); 55 } 56 } 57 } 58 }); 59 add(errorLabel,java.awt.BorderLayout.CENTER); 60 61 } 62 63 public String getErrorMessage() { 64 return errorMessage; 65 } 66 71 public Error getError() { 72 return error; 73 } 74 75 80 private void initComponents() { 82 setLayout(new java.awt.BorderLayout ()); 83 84 } 86 87 90 91 public void setError(Error error) { 92 switch (error.getErrorType()) { 93 case Error.ERROR_MESSAGE : { 94 errorMessage="Error: "+error.getErrorMessage(); 95 break; 96 } 97 case Error.WARNING_MESSAGE : { 98 errorMessage="Warning: "+error.getErrorMessage(); 99 break; 100 } 101 case Error.MISSING_VALUE_MESSAGE : { 102 errorMessage="Missing Value: "+error.getErrorMessage(); 103 break; 104 } 105 case Error.DUPLICATE_VALUE_MESSAGE : { 106 errorMessage="Duplicate Value: "+error.getErrorMessage(); 107 break; 108 } 109 } 110 this.error=error; 111 errorLabel.setText(errorMessage); 112 errorLabel.setIcon(new javax.swing.ImageIcon ( 113 getClass().getResource("/org/netbeans/modules/xml/multiview/resources/error-glyph.gif"))); } 115 116 public void clearError() { 117 error=null; 118 errorLabel.setIcon(null); 119 errorLabel.setText(""); 120 errorMessage=""; 121 } 122 123 private class ErrorLabel extends javax.swing.JLabel { 124 ErrorLabel() { 125 super(); 126 setForeground(UIManager.getDefaults().getColor("ToolBar.dockingForeground")); setHorizontalAlignment(javax.swing.SwingConstants.LEFT); 129 setText(""); } 131 132 public void setText(String text) { 133 if (text.length()==0) super.setText(" "); else super.setText("<html><u>"+text+"</u></html>"); } 136 } 137 138 139 } 140 | Popular Tags |