JFrame em um Applet

2 respostas
loganwlogan

Bom dia amigos,

Criei uma tela de cadastro usando swing no netBeans, gostaria de saber se tem como eu colocar essa tela em applet para rodar em navegador evitando assim ter que reconstruir a interface usando html. Uma vez na faculdade um colega mostrou um exemplo que ele pegou na internet, mas confesso que não lembro como funcionava.

Grato

Marcelo Logan

2 Respostas

T

Se o cadastro usa uma conexão a banco de dados recomendo não passar esse tal cadastro para applet. (Você vai ter um monte de problemas)

MarcoParanhos

Thingol, pode me tirar uma dúvida, tem o trabalho da facul que estou fazendo sobre Applet, neste trabalho eu tenho uma tela principal, estou utilizando JApplet, nessa tela tenho um menu onde tenho um item “Novo Registro” que chama uma outra tela que grava em um Array o que for passado nos JTextFields. Só que estava utilizando o JFrame para esta tela de cadastro que é add a minha JInternalPane dentro de minha JApplet principal, o problema é que a tela principal e a de cadastro são chamadas fora do Applet Viewer, criei um html para chamar esse Applet e resultou no mesmo, como se fosse uma aplicação desktop e não Applet.

Agora eu substituí o extends JFrame da tea cadastro que tá em outa classe por extends JPanel para ser chamado dentro do Applet só que não aparece o Painel, já verifiquei o setLayout e tá correto e o setVisible, show(), o setSize(300,300) também.

Também coloquei o Menu dentro da principal e deu certo, mas quando clico no botão não traz a tela:

O código está aqui:
Minha classe principal:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JApplet;
import javax.swing.JDesktopPane;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;

import telas.TelaNovoReg2;


public class TrabalhoApplet2 extends JApplet {
JMenuBar mbar;
JMenu magenda;
JMenuItem minr;
JPanel principal;

  public void init(){
      this.getContentPane().setLayout(null);
	  mbar = new JMenuBar();
	  magenda = new JMenu("Contato");
	  minr = new JMenuItem("Novo Registro");
	  principal = new JPanel();
	  
	  this.add(principal);
	  magenda.add(minr);
	  mbar.add(magenda);
	  this.setJMenuBar(mbar);
	 
	  minr.addActionListener( 
		new ActionListener(){
			public void actionPerformed(ActionEvent evt){
				TelaNovoReg2 tela = new TelaNovoReg2();
				// mostra tela
				tela.show();
			}
		}
	  ); // fim addActionListener do minr
		 
	  this.setSize(507,370);
	  this.setLocation(0,0);
  } // fim do inicializador do applet
} // fim da classe

A classe de cadastro, tela de cadastro:

package telas;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

import persistencia.ArrayContato;
import persistencia.Contato;

public class TelaNovoReg2 extends JPanel{
	
	private javax.swing.JButton jButton1; 
	private javax.swing.JButton jButton2; 
	private javax.swing.JButton jButton3; 
	private javax.swing.JButton jButton4; 
	private javax.swing.JPanel jPanel1; 
	
    JLabel lblNome,lblEndereco,lblTel;
    JButton btnSalvar,btnLimpar;
    JTextField txtNome,txtEndereco,txtTel1,txtTel2,txtTel3;
    JPanel painel;
	public TelaNovoReg2(){
		
		painel.setLayout(null);

		 lblNome = new JLabel("Nome");
		 lblEndereco = new JLabel("Endereço completo");
		 lblTel = new JLabel("DDD + Telefone");
		 txtNome = new JTextField(120);
		 txtEndereco = new JTextField(255);
		 txtTel1 = new JTextField(14);
		 txtTel2 = new JTextField(14);
		 txtTel3 = new JTextField(14);
		 btnSalvar = new JButton("Salvar");
		 btnLimpar = new JButton("Limpar");
		 
		 lblNome.setBounds(10,8,40,16);
		 txtNome.setBounds(10,25,288,18); // diferenca de 1
		 //------------------- diferenca de 5
		 lblEndereco.setBounds(10,46,130,16);
		 txtEndereco.setBounds(10,63,288,18);
		 //--------------------------
		 lblTel.setBounds(10,84,160,16);
		 txtTel1.setBounds(10,101,100,18);
		 txtTel2.setBounds(114,101,100,18);
		 txtTel3.setBounds(218,101,90,18);
		 //-------------------------
		 btnSalvar.setBounds(10,134,90,16);
		 btnLimpar.setBounds(104,134,90,16);
		 painel = new JPanel();
		     
	     
	     painel.add(lblNome);
	     painel.add(txtNome);
	     painel.add(lblEndereco);
	     painel.add(txtEndereco);
	     painel.add(lblTel);
	     painel.add(txtTel1);
	     painel.add(txtTel2);
	     painel.add(txtTel3);
	     painel.add(btnSalvar);
	     painel.add(btnLimpar);	
	     
	
		 painel.setSize(500,370);
		  
		  btnSalvar.addActionListener(
		   new ActionListener(){
			public void actionPerformed(ActionEvent evt){
			 ArrayContato array = new ArrayContato();
			 Contato contato = new Contato();
			 if(txtNome.getText().equals("")){
			 JOptionPane.showMessageDialog(null,"Favor preencher o \" Nome \" ");
			 }else if(txtEndereco.getText().equals("")){
			 JOptionPane.showMessageDialog(null,"Favor preencher o \" Endereço \" ");	 
			 }else if(txtTel1.getText().equals("") & txtTel2.getText().equals("") & txtTel3.getText().equals("") ){
			 JOptionPane.showMessageDialog(null,"Favor preencher pelo menos um \" Telefone \" ");	 
			 }
			 contato.setNome(txtNome.getText());
			 contato.setEndereco(txtEndereco.getText());
			 contato.setTel1(txtTel1.getText());
			 contato.setTel2(txtTel2.getText());
			 contato.setTel3(txtTel3.getText());
			 array.setLista(contato);
			 txtNome.setText("");
			 txtEndereco.setText("");
			 txtTel1.setText("");
			 txtTel2.setText("");
			 txtTel3.setText("");
		    } // fim do disparo do evento
			} // fim da nova instancia de uma acao
		  ); // fim adicionar acao
		  
		  btnLimpar.addActionListener(
		  new ActionListener(){
		  public void actionPerformed(ActionEvent evt){
		   txtNome.setText("");
		   txtEndereco.setText("");
	       txtTel1.setText("");
		   txtTel2.setText("");
		   txtTel3.setText("");
		  } // fim do disparo do evento
		 } // fim da nova instancia de uma acao		 
		);// fim adicionar acao  
	} // fim construtor
} // fim da classe
Criado 22 de junho de 2006
Ultima resposta 28 de jun. de 2006
Respostas 2
Participantes 3