jsyntaxpane.actions.gui.HTMLPreviewFrame Maven / Gradle / Ivy
/*
* Copyright 2008 Ayman Al-Sairafi [email protected]
*
* 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 jsyntaxpane.actions.gui;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import jsyntaxpane.actions.HTMLPreviewAction;
/**
*
* @author Ayman Al-Sairafi
*/
public class HTMLPreviewFrame extends javax.swing.JFrame implements DocumentListener {
Document doc;
/**
* Creates new form HTMLPreviewFrame
* @param doc
*/
public HTMLPreviewFrame(Document doc) {
initComponents();
this.doc = doc;
doc.addDocumentListener(this);
updateHTML();
}
private void updateHTML() {
try {
jEdtHtml.setText(doc.getText(0, doc.getLength()));
} catch (BadLocationException ex) {
Logger.getLogger(HTMLPreviewFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
/**
* This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// //GEN-BEGIN:initComponents
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
jEdtHtml = new javax.swing.JEditorPane();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("jsyntaxpane/Bundle"); // NOI18N
setTitle(bundle.getString("HTMLPreviewFrame.title")); // NOI18N
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosed(java.awt.event.WindowEvent evt) {
onWindowClosed(evt);
}
});
jEdtHtml.setContentType(bundle.getString("HTMLPreviewFrame.jEdtHtml.contentType")); // NOI18N
jEdtHtml.setEditable(false);
jScrollPane1.setViewportView(jEdtHtml);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 688, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 449, Short.MAX_VALUE)
);
pack();
}// //GEN-END:initComponents
private void onWindowClosed(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_onWindowClosed
doc.removeDocumentListener(this);
doc.putProperty(HTMLPreviewAction.HTML_PREVIEW_WINDOW, null);
doc = null;
}//GEN-LAST:event_onWindowClosed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JEditorPane jEdtHtml;
private javax.swing.JScrollPane jScrollPane1;
// End of variables declaration//GEN-END:variables
@Override
public void insertUpdate(DocumentEvent e) {
updateHTML();
}
@Override
public void removeUpdate(DocumentEvent e) {
updateHTML();
}
@Override
public void changedUpdate(DocumentEvent e) {
updateHTML();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy