/* * Copyright (c) 2016 Vivid Solutions. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompanies this distribution. * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html * and the Eclipse Distribution License is available at * * http://www.eclipse.org/org/documents/edl-v10.php. */ package org.locationtech.jtstest.testbuilder; import java.awt.*; import java.awt.event.*; import javax.swing.BorderFactory; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import org.locationtech.jts.geom.*; import org.locationtech.jtstest.testbuilder.model.*; import org.locationtech.jtstest.util.ExceptionFormatter; /** * @version 1.7 */ public class ResultValuePanel extends JPanel { TestBuilderModel tbModel = null; Object currResult = null; JPanel labelPanel = new JPanel(); JLabel resultLabel = new JLabel(); BorderLayout labelPanelLayout = new BorderLayout(); JScrollPane jScrollPane1 = new JScrollPane(); JTextArea txtResult = new JTextArea(); BorderLayout tabPanelLayout = new BorderLayout(); public ResultValuePanel() { try { jbInit(); } catch (Exception ex) { ex.printStackTrace(); } } void jbInit() throws Exception { this.setLayout(tabPanelLayout); txtResult.setWrapStyleWord(true); txtResult.setLineWrap(true); txtResult.setBackground(SystemColor.control); labelPanel.setLayout(labelPanelLayout); labelPanel.setBorder(BorderFactory.createEmptyBorder(0,4,2,2)); labelPanel.add(resultLabel); resultLabel.setText("Value"); this.add(jScrollPane1, BorderLayout.CENTER); this.add(labelPanel, BorderLayout.NORTH); jScrollPane1.setBorder(BorderFactory.createLoweredBevelBorder()); jScrollPane1.getViewport().add(txtResult, null); } public void setModel(TestBuilderModel tbModel) { this.tbModel = tbModel; } public void setResult(String opName, String execTime, Object o) { currResult = o; resultLabel.setText("Value of: " + opName + " ( " + execTime + " )"); if (o == null) { setString(""); } else if (o instanceof Throwable) { setError((Throwable) o); } else { setString(o.toString()); } } public void setString(String s) { txtResult.setText(s); txtResult.setBackground(SystemColor.control); } public void setError(Throwable ex) { String exStr = ExceptionFormatter.getFullString(ex); txtResult.setText(exStr); txtResult.setBackground(Color.pink); } }