Foros del Web » Programación para mayores de 30 ;) » Java »

ayuda con JFrame que no hace nada

Estas en el tema de ayuda con JFrame que no hace nada en el foro de Java en Foros del Web. Hola! Escribo porque estoy haciendo una aplicación java de ejemplo en Swing y no me funciona. Se basa en una clase que extiende de JFrame ...
  #1 (permalink)  
Antiguo 01/05/2009, 06:22
Avatar de rameau1982  
Fecha de Ingreso: febrero-2007
Ubicación: Barcelona
Mensajes: 111
Antigüedad: 17 años, 2 meses
Puntos: 0
ayuda con JFrame que no hace nada

Hola!

Escribo porque estoy haciendo una aplicación java de ejemplo en Swing y no me funciona.
Se basa en una clase que extiende de JFrame e implementa actionListener. En su constructor se crea un JPanel con un JTextField y un JButton, y un JScrollPane con un JTextArea dentro. Cuando se escribe en el JTextField y se da al JButton el método actionPerformed() recoge el texto del JTextField y hace un append() al JTextArea.

Tan simple como esto....
Pues no hay manera porque, directamente, no me deja escribir en el JTextField!!

Miraros el código, por favor, y decidme en que falla.
Muchas gracias.

Código:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Frame1 extends JFrame implements ActionListener{

	protected JTextField textf;
	protected JTextArea textarea;
	static Frame1 f;
	
	public Frame1(){
		setSize(600,600);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		JPanel panel1 = new JPanel();
		panel1.setLayout(new BorderLayout());
		JButton button1 = new JButton("Accion");
		button1.addActionListener(this);
		panel1.add(button1,BorderLayout.EAST);
		textf = new JTextField(100);
		textf.addActionListener(this);

		panel1.add(textf,BorderLayout.CENTER);

		textarea = new JTextArea(20,100);
		textarea.setEditable(false);
		JScrollPane scrollpane = new JScrollPane(textarea,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
		add(scrollpane,BorderLayout.CENTER);
		add(panel1,BorderLayout.SOUTH);
		setVisible(true);
		setTitle("Chat Sala Única");
		setResizable(false);
	}
	
	public void actionPerformed(ActionEvent evt) {
		String text;
		text = textf.getText();
		textf.setText("");
		textarea.append(text +"\n");
	}
	
	public static void main(String [] args){

		SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                f = new Frame1();
            }
        });
	}
}
  #2 (permalink)  
Antiguo 01/05/2009, 07:14
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: ayuda con JFrame que no hace nada

Hola:

He copiado el código, lo he ejecutado y funciona bien: escribo en el textfield de abajo, le doy al boton y se añade al texto que hay en el area de texto de arriba. Quizás el problema no sea del código.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 01/05/2009, 09:04
Avatar de rameau1982  
Fecha de Ingreso: febrero-2007
Ubicación: Barcelona
Mensajes: 111
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: ayuda con JFrame que no hace nada

chuidiang,

muchas gracias por probarlo. Yo trabajo con eclipse y, si le doy a Run>Run As>Java Application
me aparece la ventana con el textarea, el scroll, el campo de texto y el boton, pero no puedo hacer nada, ni escribir ni nada.
Por otro lado, si me voy a un terminal y me situo en el directorio del .class y escribo: java Frame1
me da el siguiente error:

Código:
Exception in thread "main" java.lang.NoClassDefFoundError: loaded class Frame1 was in fact named proba1.Frame1
   at java.lang.VMClassLoader.defineClass(libgcj.so.81)
   at java.lang.ClassLoader.defineClass(libgcj.so.81)
   at java.security.SecureClassLoader.defineClass(libgcj.so.81)
   at java.net.URLClassLoader.findClass(libgcj.so.81)
   at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.81)
   at java.lang.ClassLoader.loadClass(libgcj.so.81)
   at java.lang.ClassLoader.loadClass(libgcj.so.81)
   at gnu.java.lang.MainThread.run(libgcj.so.81)
si me situo en el directorio de encima que es su package: y escribo: java proba1.Frame1

si que me lo ejecuta pero estamos en las mismas: no se puede escribir ni hacer nada.

Alguna solución? o de donde puede venir que tú si que puedas ejecutarlo correctamente y yo no??

Muchas gracias
  #4 (permalink)  
Antiguo 01/05/2009, 09:46
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: ayuda con JFrame que no hace nada

Hola:

Yo trabajo también en eclipse (he hecho la prueba con eclipse). Quizás la versión de java. Uso java 6 sobre windows. Prueba a poner un setEditable(true) y setEnabled(true) al campo de texto, a ver qué pasa.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 01/05/2009, 11:32
Avatar de rameau1982  
Fecha de Ingreso: febrero-2007
Ubicación: Barcelona
Mensajes: 111
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: ayuda con JFrame que no hace nada

bueno, he hecho varias cosas:

1º actualizar al jdk/jre 6 oficial de sun
2º en eclipse decirle que utilice este JRE/JDK

ahora sí que todo funciona perfectamente!!!


muchas gracias por tu ayuda!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:18.