001 import javax.swing.*;
002 import org.gui.*;
003 import java.io.*;
004 import java.beans.*;
005 import java.awt.*;
006 import java.awt.event.*;
007 import java.net.*;
008 import javax.swing.event.*;
009 import javax.swing.text.html.*;
010
011 public class Main___GUI{
012
013 public static void main(String[] args) throws Exception {
014
015 final JTextPane tp = new JTextPane();
016 final JTextField tf = new JTextField();
017
018 GUITool.tryToSetSystemLookAndFeel();
019 JFrame frame_tmp = null;
020
021 JButton button = new JButton("test");
022 button.addActionListener(new ActionListener(){
023 public void actionPerformed(ActionEvent e){
024 System.out.println("test");
025 }
026 });
027 JPanel contentpane = new JPanel(new BorderLayout());
028 contentpane.add(button, BorderLayout.NORTH);
029 contentpane.add(new JScrollPane(tp), BorderLayout.CENTER);
030 tp.setEditable(false);
031 tp.addHyperlinkListener(new HyperlinkListener(){
032 public void hyperlinkUpdate(HyperlinkEvent e) {
033 if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
034 JEditorPane pane = (JEditorPane) e.getSource();
035 if (e instanceof HTMLFrameHyperlinkEvent) {
036 HTMLFrameHyperlinkEvent evt = (HTMLFrameHyperlinkEvent)e;
037 HTMLDocument doc = (HTMLDocument)pane.getDocument();
038 doc.processHTMLFrameHyperlinkEvent(evt);
039 } else {
040 try {
041 pane.setPage(e.getURL());
042 tf.setText(e.getURL().toString());
043 } catch (Throwable t) {
044 t.printStackTrace();
045 }
046 }
047 }
048 }
049 });
050 tf.addActionListener(new ActionListener(){
051 public void actionPerformed(ActionEvent e) {
052 try{
053 tp.setPage(((JTextField)e.getSource()).getText());
054 }catch(Exception exc){
055 exc.printStackTrace();
056 }
057 }
058 });
059 contentpane.add(tf, BorderLayout.SOUTH);
060
061 frame_tmp = new JFrame();
062 frame_tmp.setContentPane(contentpane);
063 frame_tmp.pack();
064 final String config_file_name = ".GUITool_frame_state.xml";
065
066 try{
067 XMLDecoder decoder = new XMLDecoder(new FileInputStream(config_file_name));
068 Rectangle bounds = (Rectangle)decoder.readObject();
069 frame_tmp.setBounds(bounds);
070 String url_text = (String)decoder.readObject();
071 tf.setText(url_text);
072 tp.setPage(new URL(url_text));
073 }catch(Exception e){
074 e.printStackTrace();
075 }
076
077 frame_tmp.setVisible(true);
078 final JFrame frame = frame_tmp;
079 frame.addWindowListener(new WindowAdapter(){
080 @Override
081 public void windowClosing(WindowEvent e) {
082 try{
083 XMLEncoder encoder = new XMLEncoder(new FileOutputStream(config_file_name));
084 encoder.writeObject(frame.getBounds());
085 encoder.writeObject(tf.getText());
086 encoder.flush();
087 encoder.close();
088 }catch(Exception exc){
089 exc.printStackTrace();
090 }
091 System.exit(0);
092 }
093 });
094
095
096
097 File[] file = GUITool.openFiles(null, "open");
098 for(int i=0;i<file.length;i++)
099 JOptionPane.showMessageDialog(null, file[i].getAbsolutePath());
100 }
101 }