/*
* Copyright 2007 - 2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.sf.jailer.ui;
import java.awt.Dialog;
import java.awt.Dimension;
import java.awt.Font;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import net.sf.jailer.util.PrintUtil;
/**
* Renders text files.
*
* @author Ralf Wisser
*/
public class FileView extends javax.swing.JDialog {
/**
* Component for rendering the file content.
*/
private JTextArea jTextPane = null;
/**
* Scroll-pane around content.
*/
private JScrollPane jScrollPane = null;
/**
* Constructor.
*
* @param owner the enclosing component.
*/
public FileView(Dialog owner) {
super(owner);
initialize();
setModal(true);
UIUtil.initPeer();
}
/**
* Constructor.
*
* @param owner the enclosing component.
* @param file the file to render
*/
public FileView(Dialog owner, String file) throws FileNotFoundException, IOException {
super(owner);
setModal(true);
try {
initialize();
setTitle(file);
getJTextPane().setText(new PrintUtil().loadFile(file));
UIUtil.initPeer();
setVisible(true);
} catch (Throwable t) {
UIUtil.showException(owner, "Error", t);
}
}
/**
* Creates components.
*/
private void initialize() {
this.setSize(new Dimension(700, 600));
this.setContentPane(getJScrollPane());
this.setTitle("Jailer");
setLocation(100, 100);
getJTextPane().setFont(new Font("Monospaced", Font.PLAIN, 12));
}
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setViewportView(getJTextPane());
}
return jScrollPane;
}
/**
* This method initializes jTextPane
*
* @return javax.swing.JTextPane
*/
private JTextArea getJTextPane() {
if (jTextPane == null) {
jTextPane = new JTextArea();
jTextPane.setLineWrap(false);
}
return jTextPane;
}
private static final long serialVersionUID = -8991473715127153931L;
} // @jve:decl-index=0:visual-constraint="10,10"