/*
* ViewXML.java
*
* Created on May 10, 2002, 4:17 PM
*/
package com.imsl.demo.xml;
import java.io.*;
import java.util.*;
import javax.swing.JOptionPane;
/**
*
* @author brophy
*/
public class Viewer extends javax.swing.JFrame {
private XMLPanel xmlPanel;
private boolean exitOnClose;
/** Creates new form ViewXML */
public Viewer(boolean exitOnClose) {
this.exitOnClose = exitOnClose;
initComponents();
xmlPanel = new XMLPanel();
try {
InputStream is = getClass().getResourceAsStream("list.txt");
Reader isr = new InputStreamReader(is);
LineNumberReader r = new LineNumberReader(isr);
while (true) {
String line = r.readLine();
if (line == null) break;
StringTokenizer st = new StringTokenizer(line, "=");
String key = st.nextToken();
String title = st.nextToken();
jComboBox.addItem(new Entry(key,title));
}
} catch (IOException e) {
e.printStackTrace();
}
jPanelMain.add(xmlPanel, java.awt.BorderLayout.CENTER);
pack();
}
/** 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.
*/
private void initComponents() {//GEN-BEGIN:initComponents
jPanelMain = new javax.swing.JPanel();
jPanelControls = new javax.swing.JPanel();
jComboBox = new javax.swing.JComboBox();
jButtonBack = new javax.swing.JButton();
Next = new javax.swing.JButton();
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});
jPanelMain.setLayout(new java.awt.BorderLayout());
jPanelControls.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT));
jComboBox.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBoxActionPerformed(evt);
}
});
jPanelControls.add(jComboBox);
jButtonBack.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/imsl/demo/xml//Back16.gif")));
jButtonBack.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonBackActionPerformed(evt);
}
});
jPanelControls.add(jButtonBack);
Next.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/imsl/demo/xml/Forward16.gif")));
Next.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
NextActionPerformed(evt);
}
});
jPanelControls.add(Next);
jPanelMain.add(jPanelControls, java.awt.BorderLayout.NORTH);
getContentPane().add(jPanelMain, java.awt.BorderLayout.CENTER);
pack();
}//GEN-END:initComponents
private void jButtonBackActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonBackActionPerformed
int index = jComboBox.getSelectedIndex() - 1;
if (index < 0) index = jComboBox.getItemCount() - 1;
jComboBox.setSelectedIndex(index);
}//GEN-LAST:event_jButtonBackActionPerformed
private void NextActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_NextActionPerformed
int index = jComboBox.getSelectedIndex() + 1;
if (index == jComboBox.getItemCount()) index = 0;
jComboBox.setSelectedIndex(index);
}//GEN-LAST:event_NextActionPerformed
private void jComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBoxActionPerformed
try {
Entry entry = (Entry)jComboBox.getSelectedItem();
if (entry != null) xmlPanel.setInputStream(getClass().getResourceAsStream(entry.key+".xml"));;
} catch (java.io.IOException e) {
JOptionPane.showMessageDialog(this, e.toString(), "Error", JOptionPane.ERROR_MESSAGE);
}
}//GEN-LAST:event_jComboBoxActionPerformed
/** Exit the Application */
private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
if (exitOnClose) System.exit(0);
}//GEN-LAST:event_exitForm
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
boolean exitOnClose = true;
if (args.length > 0 && args[0].equals("-noexit")) exitOnClose = false;
new Viewer(exitOnClose).show();
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JPanel jPanelMain;
private javax.swing.JPanel jPanelControls;
private javax.swing.JComboBox jComboBox;
private javax.swing.JButton Next;
private javax.swing.JButton jButtonBack;
// End of variables declaration//GEN-END:variables
static class Entry {
String key;
String title;
Entry(String key, String title) {
this.key = key;
this.title = title;
}
public String toString() {
return title;
}
}
}