Apresentando páginas HTML em sua aplicação
Veja nesta dica um método para apresentar páginas HTML em sua aplicação. Esta é uma simples extensão da classe JInternalFrame que contem uma lista de objetos. Aqui os elementos da lista representam páginas HTML de um Web site qualquer.
|
<B><SPAN >import </SPAN></B><SPAN >java.awt.*;</SPAN>
<B><SPAN >import </SPAN></B><SPAN >java.io.*;</SPAN>
<B><SPAN >import </SPAN></B><SPAN >java.awt.event.*;</SPAN>
<B><SPAN >import </SPAN></B><SPAN >javax.swing.*;</SPAN>
<B><SPAN >public class </SPAN></B><SPAN >PageFrame </SPAN><B><SPAN >extends </SPAN></B><SPAN >JInternalFrame </SPAN><B><SPAN >implements </SPAN></B><SPAN >ActionListener {</SPAN>
<SPAN >SiteManager parent;</SPAN>
<SPAN >String filename;</SPAN>
<SPAN >JTextArea ta;</SPAN>
<B><SPAN >public </SPAN></B><SPAN >PageFrame(String name, SiteManager sm) {</SPAN>
<B><SPAN >super</SPAN></B><SPAN >(</SPAN><SPAN >"Página: " </SPAN><SPAN >+ name, true, true, true, </SPAN><B><SPAN >true</SPAN></B><SPAN >);</SPAN>
<SPAN >parent = sm;</SPAN>
<SPAN >setBounds(</SPAN><SPAN >50</SPAN><SPAN >,</SPAN><SPAN >50</SPAN><SPAN >,</SPAN><SPAN >300</SPAN><SPAN >,</SPAN><SPAN >150</SPAN><SPAN >);</SPAN>
<SPAN >Container contentPane = getContentPane();</SPAN>
<SPAN >// Cria um text area para apresentar o conteúdo armazenado no arquivo</SPAN>
<SPAN >ta = </SPAN><B><SPAN >new </SPAN></B><SPAN >JTextArea();</SPAN>
<SPAN >JScrollPane jsp = </SPAN><B><SPAN >new </SPAN></B><SPAN >JScrollPane(ta);</SPAN>
<SPAN >contentPane.add(jsp, BorderLayout.CENTER);</SPAN>
<SPAN >JMenuBar jmb = </SPAN><B><SPAN >new </SPAN></B><SPAN >JMenuBar();</SPAN>
<SPAN >JMenu fileMenu = </SPAN><B><SPAN >new </SPAN></B><SPAN >JMenu(</SPAN><SPAN >"Arquivo"</SPAN><SPAN >);</SPAN>
<SPAN >JMenuItem saveItem = </SPAN><B><SPAN >new </SPAN></B><SPAN >JMenuItem(</SPAN><SPAN >"Salvar"</SPAN><SPAN >);</SPAN>
<SPAN >saveItem.addActionListener(</SPAN><B><SPAN >this</SPAN></B><SPAN >);</SPAN>
<SPAN >fileMenu.add(saveItem);</SPAN>
<SPAN >jmb.add(fileMenu);</SPAN>
<SPAN >setJMenuBar(jmb);</SPAN>
<SPAN >filename = name;</SPAN>
<SPAN >loadContent();</SPAN>
<SPAN >}</SPAN>
<B><SPAN >public void </SPAN></B><SPAN >actionPerformed(ActionEvent ae) {</SPAN>
<SPAN >saveContent();</SPAN>
<SPAN >}</SPAN>
<B><SPAN >public void </SPAN></B><SPAN >loadContent() {</SPAN>
<B><SPAN >try </SPAN></B><SPAN >{</SPAN>
<SPAN >FileReader fr = </SPAN><B><SPAN >new </SPAN></B><SPAN >FileReader(filename);</SPAN>
<SPAN >ta.read(fr, </SPAN><B><SPAN >null</SPAN></B><SPAN >);</SPAN>
<SPAN >fr.close();</SPAN>
<SPAN >} </SPAN><B><SPAN >catch </SPAN></B><SPAN >(Exception e) {</SPAN>
<SPAN >System.err.println(</SPAN><SPAN >"Nao é possével carregar a página: " </SPAN><SPAN >+ filename);</SPAN>
<SPAN >}</SPAN>
<SPAN >}</SPAN>
<B><SPAN >public void </SPAN></B><SPAN >saveContent() {</SPAN>
<B><SPAN >try </SPAN></B><SPAN >{</SPAN>
<SPAN >FileWriter fw = </SPAN><B><SPAN >new </SPAN></B><SPAN >FileWriter(filename);</SPAN>
<SPAN >ta.write(fw);</SPAN>
<SPAN >fw.close();</SPAN>
<SPAN >} </SPAN><B><SPAN >catch</SPAN></B><SPAN >(Exception e) {</SPAN>
<SPAN >System.err.println(</SPAN><SPAN >"Nao foi possível salvar a página: " </SPAN><SPAN >+ filename);</SPAN>
<SPAN >}</SPAN>
<SPAN >}</SPAN>
<B><SPAN >public void </SPAN></B><SPAN >cutText() { ta.cut(); }</SPAN>
<B><SPAN >public void </SPAN></B><SPAN >copyText() { ta.copy(); }</SPAN>
<B><SPAN >public void </SPAN></B><SPAN >pasteText() { ta.paste(); }</SPAN>
<SPAN >}</SPAN>
|