Bean , JSP e JFrame: Duvida

5 respostas
N

bem pessoal , tenho uma duvida aqui…

primeiro criei um programa besta que mostra um JFrame na tela.O que aparece é um botao e umas coisinhas, nda demais.O importante é mostrar somente o JFrame.O codigo retorna o Jframe.

import java.awt.event.*;

import javax.swing.<em>;

import javax.swing.event.ListSelectionEvent;

import javax.swing.event.ListSelectionListener;

import javax.swing.border.</em>;

import javax.swing.table.<em>;

import java.awt.</em>;

public class TestePanelJSPBean {

final JFrame MainFrame = new JFrame();
    final JPanel Painel1 = new JPanel();
    final JPanel Painel2 = new JPanel();
    final JButton botao = new JButton("X");
    final JTextArea texto = new JTextArea();


public TestePanelJSPBean(){	

    texto.setSize(50,50);
texto.setEnabled(true);
texto.setEditable(true);
texto.setText("					");
	
    Painel1.add(botao);
Painel1.setBackground(new Color(0,0,0));
	
Painel2.add(texto);
	
class ouvinte implements ActionListener
            {
	   public void actionPerformed(ActionEvent event)
	   {System.out.println(texto.getText());}
            }
	
	ActionListener o = new ouvinte();
	botao.addActionListener(o);
	
	MainFrame.setSize(500,200);
	MainFrame.setLayout(new BorderLayout());
	MainFrame.getContentPane().add(Painel1, BorderLayout.NORTH);
	MainFrame.getContentPane().add(Painel2 , BorderLayout.SOUTH);

	MainFrame.setVisible(true);

}

public JFrame getPanel(){
 
    return(MainFrame);
}

}

ate aqui blz.
So que eu desejo mostrar esse jframe na internet, para que o usuario use isso normalmente.NAO quero usar como applet.
Entao o que foi que eu fiz.Essa classe acima mostrada, esta sendo usada como um bean por um jsp, que chama esse bean.Mas notem que a propriedade retornada por esse bean é um JFrame, e nao uma string!
Ou seja , o meu jsp esta retornando o codigo do frame e depois inicializando o Frame na tela, porem nao anexado ao browser.
Como eu poderia fazer para que o JFrame fosse retornado como propriedade do bean e esse JFrame fosse anexado na tela, como normalmente é feito com um applet.
o JSP fica:

<jsp:useBean id=“painel” scope=“page” class=“teste.TestePanelJSPBean” />

<html>
<body>

&lt;jsp:getProperty name="painel" property="panel" /&gt;
&lt;/body&gt;

</html>

essa duvida ta me matando!!
por favor me ajudem
abraços

5 Respostas

J

A unica forma de mostrar componentes Swing dentro de uma pagina HTML é com Applet, se não quer mostrar dentro da pagina, use Java Web Start, nesse caso a aplicação vai abrir no computador do usuário, mas como uma aplicação normal, não dentro da página…

Agora se o que quer é exibir dentro da pagina, sem usar Applet, nem tente!

P

cara acho que isso que vc esta tentando fazer é impossivel…

uma alternativa seria vc usar o java web start!
http://java.sun.com/products/javawebstart/

P

desculpe-me jairelton , não tinha visto seu post !! :oops:

N

hum…entendo
entao realmente se eu desejar usar um aplicativo swing , entao terei q usar applet.
No caso estou querendo mostrar um jfreechart, que usa os componentes swing, para mostrar dados atualizados dinamicamente.
entao eu tenho 2 alternativas.
Criar um applet que leia os dados e atualize na maquina do usuario.
E outra, gravar o grafico gerado como uma imagem, e sempre atualizar a pagina.

Entao a duvida.

Como fazer para atualizar a pagina automaticamente de tempos em tempos usando jsp ??

J

Isso não seria com JSP e sim com HTML, veja:

&lt;meta http-equiv="refresh" content="60;url=pagina.jsp" /&gt;

60=60 segundos

Pode fazer com javascript tambem, só que tem problema se estiver desativado:

setTimeout&#40;"window.refresh&#40;&#41;", 6000&#41;;
Criado 19 de julho de 2006
Ultima resposta 25 de jul. de 2006
Respostas 5
Participantes 3