| /* | |
| * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved. | |
| * | |
| * This program and the accompanying materials are made available under the | |
| * terms of the Eclipse Distribution License v. 1.0, which is available at | |
| * http://www.eclipse.org/org/documents/edl-v10.php. | |
| * | |
| * SPDX-License-Identifier: BSD-3-Clause | |
| */ | |
| import java.awt.*; | |
| import java.io.*; | |
| import java.beans.*; | |
| import javax.activation.*; | |
| import javax.swing.JPanel; | |
| import javax.swing.JTextArea; | |
| import javax.swing.JScrollPane; | |
| /** | |
| * A very simple TextViewer Bean for the MIMEType "text/plain" | |
| * | |
| * @author Christopher Cotton | |
| */ | |
| public class TextViewer extends JPanel implements CommandObject | |
| { | |
| private JTextArea text_area = null; | |
| private DataHandler dh = null; | |
| private String verb = null; | |
| /** | |
| * Constructor | |
| */ | |
| public TextViewer() { | |
| super(new GridLayout(1,1)); | |
| // create the text area | |
| text_area = new JTextArea(); | |
| text_area.setEditable(false); | |
| text_area.setLineWrap(true); | |
| // create a scroll pane for the JTextArea | |
| JScrollPane sp = new JScrollPane(); | |
| sp.setPreferredSize(new Dimension(300, 300)); | |
| sp.getViewport().add(text_area); | |
| add(sp); | |
| } | |
| public void setCommandContext(String verb, DataHandler dh) | |
| throws IOException { | |
| this.verb = verb; | |
| this.dh = dh; | |
| this.setInputStream( dh.getInputStream() ); | |
| } | |
| /** | |
| * set the data stream, component to assume it is ready to | |
| * be read. | |
| */ | |
| public void setInputStream(InputStream ins) { | |
| int bytes_read = 0; | |
| // check that we can actually read | |
| ByteArrayOutputStream baos = new ByteArrayOutputStream(); | |
| byte data[] = new byte[1024]; | |
| try { | |
| while((bytes_read = ins.read(data)) >0) | |
| baos.write(data, 0, bytes_read); | |
| ins.close(); | |
| } catch(Exception e) { | |
| e.printStackTrace(); | |
| } | |
| // convert the buffer into a string | |
| // place in the text area | |
| text_area.setText(baos.toString()); | |
| } | |
| } |