/*
* JWeb.java
*
* Created on August 2, 2007, 4:22 PM
*
* @author pquiring
*/
import javax.swing.event.HyperlinkEvent;
import java.net.URL;
import javaforce.*;
import java.io.*;
public class WebApp extends javax.swing.JFrame {
/** Creates new form JWeb */
public WebApp() {
initComponents();
html.setContentType("text/html");
html.setEditable(false);
setTitle("JWeb");
loadcfg();
setProxy();
setSize(640, 480);
}
/** 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.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
htmlScroll = new javax.swing.JScrollPane();
html = new javax.swing.JEditorPane();
home = new javax.swing.JButton();
url = new javax.swing.JTextField();
go = new javax.swing.JButton();
menuBar = new javax.swing.JMenuBar();
menu_file = new javax.swing.JMenu();
file_Settings = new javax.swing.JMenuItem();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("jWeb");
html.addHyperlinkListener(new javax.swing.event.HyperlinkListener() {
public void hyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {
htmlHyperlinkUpdate(evt);
}
});
htmlScroll.setViewportView(html);
home.setText("Home");
home.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
homeActionPerformed(evt);
}
});
url.setText("URL");
url.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
urlActionPerformed(evt);
}
});
go.setText("Go");
go.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
goActionPerformed(evt);
}
});
menu_file.setText("Menu");
file_Settings.setText("Settings...");
file_Settings.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
file_SettingsActionPerformed(evt);
}
});
menu_file.add(file_Settings);
menuBar.add(menu_file);
setJMenuBar(menuBar);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(home)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(url, javax.swing.GroupLayout.DEFAULT_SIZE, 236, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(go))
.addComponent(htmlScroll)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(go)
.addComponent(url, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(home))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(htmlScroll, javax.swing.GroupLayout.DEFAULT_SIZE, 408, Short.MAX_VALUE))
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void file_SettingsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_file_SettingsActionPerformed
EditSettings.editSettings(this);
savecfg();
setProxy();
}//GEN-LAST:event_file_SettingsActionPerformed
private void urlActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_urlActionPerformed
try {
html.setPage(getURL());
} catch(Exception e) {}
}//GEN-LAST:event_urlActionPerformed
private void goActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_goActionPerformed
try {
html.setPage(getURL());
} catch(Exception e) {}
}//GEN-LAST:event_goActionPerformed
private void homeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_homeActionPerformed
try {
url.setText(Settings.homePage);
html.setPage(new URL(Settings.homePage));
} catch(Exception e) {}
}//GEN-LAST:event_homeActionPerformed
private void htmlHyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {//GEN-FIRST:event_htmlHyperlinkUpdate
if (evt.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
try {
html.setPage(evt.getURL());
url.setText(evt.getURL().toExternalForm());
} catch(Exception e) {}
}
}//GEN-LAST:event_htmlHyperlinkUpdate
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new WebApp().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JMenuItem file_Settings;
private javax.swing.JButton go;
private javax.swing.JButton home;
private javax.swing.JEditorPane html;
private javax.swing.JScrollPane htmlScroll;
private javax.swing.JMenuBar menuBar;
private javax.swing.JMenu menu_file;
private javax.swing.JTextField url;
// End of variables declaration//GEN-END:variables
public void loadcfg() {
XML xml = new XML();
String filename = JF.getUserPath() + "/.jfweb.xml";
File file = new File(filename);
if (!file.exists()) return; //doesn't exist
if (!xml.read(filename)) return; //bad cfg
if (!xml.root.name.equals("jfweb")) return; //bad cfg
xml.writeClass(xml.root, new Settings());
}
public void savecfg() {
XML xml = new XML();
XML.XMLTag tag;
xml.root.name = "jfweb";
xml.readClass(xml.root, new Settings());
String filename = JF.getUserPath() + "/.jfweb.xml";
xml.write(filename);
}
public void setProxy() {
System.getProperties().put("proxySet",Settings.proxy ? "true" : "false");
System.getProperties().put("proxyHost",Settings.proxyHost);
System.getProperties().put("proxyPort",Settings.proxyPort);
}
public URL getURL() {
String tmp = url.getText();
if (!tmp.startsWith("http://") && !tmp.startsWith("https://")) tmp = "http://" + tmp;
try {
return new URL(tmp);
} catch (Exception e) {
return null;
}
}
}