entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

necesito ayudar para mejorar un programa

Empece ayer con JFrame, JButton, JLabel y JTextField en eclipse, intente hacer un programa para leer un nombre con JTextField y ponerlo como titulo en la ventana mediante la pulsación del botón, pero me salta Hot Code Replace Failed y no se como solucionarlo.
Este es el programa:

import javax.swing.*;
import java.awt.event.*;
public class VentanaPideIngresar extends JFrame implements ActionListener{
    private JTextField t;
    private JLabel c;
    private JButton b;
    public VentanaPideIngresar() {
        b=new JButton("Aceptar");
        b.setBounds(10,10,100,30);
        add(b);
        b.addActionListener(this);
        c=new JLabel("Ingrese un nombre para la Ventana :");
        c.setBounds(10,0,100,30);
        add(c);
        t=new JTextField();
        t.setBounds(10,10,100,30);
        add(t);
    }
    public void actionPerformed(ActionEvent a) {
        if(a.getSource()==b) {
            String cad=t.getText();
            setTitle(cad);
        }
    }
    public static void main(String[] args) {
        VentanaPideIngresar jf=new VentanaPideIngresar();
        jf.setBounds(0,0,1400,1250);
        jf.setVisible(true);
        jf.setResizable(true);
    }
}

Espero que me puedan ayudar
gracias

1 Respuesta

1voto

FelipeMedel Puntos450

bueno primero que nada, lo único que te aconsejaría en el caso de que aun estés necesitando una respuesta, es que organices los elementos en un grid layout, como tal tu código funciona, al escribir algo y darle clic al botón aceptar, la ventana toma el texto que se escribió como titulo.

import java.awt.GridLayout;
import javax.swing.*;
import java.awt.event.*;

public class Pruebas extends JFrame implements ActionListener {

    private JTextField t;
    private JLabel c;
    private JButton b;

    public Pruebas() {
        b = new JButton("Aceptar");
        b.setBounds(10, 10, 100, 10);
        b.addActionListener(this);
        c = new JLabel("Ingrese un nombre para la Ventana :");
        c.setBounds(10, 10, 100, 10);
        t = new JTextField();
        t.setBounds(10, 10, 100, 10);

        JPanel mipanel = new JPanel();
        mipanel.setLayout(new GridLayout(3,1));
        mipanel.add(c);
        mipanel.add(t);
        mipanel.add(b);  

        this.add(mipanel);
    }

    public void actionPerformed(ActionEvent a) {
        if (a.getSource() == b) {
            String cad = t.getText();
            setTitle(cad);
        }
    }

    public static void main(String[] args) {
        Pruebas jf = new Pruebas();
        jf.setBounds(0, 0, 400, 450);
        jf.setVisible(true);
        jf.setResizable(true);
    }
}

Resultado

Por favor, accede o regístrate para responder a esta pregunta.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Otras Preguntas y Respuestas


Actividad Reciente

  • ortzi ganó una medalla hace 18 horas

    Buena Pregunta - Recibió +1 votos en pregunta
  • SoCu ganó una medalla hace 20 horas

    Buena Pregunta - Recibió +1 votos en pregunta
  • FelipeMedel ganó una medalla hace 20 horas

    Renovador - Recibió medalla Buena Respuesta en res…
  • FelipeMedel ganó una medalla hace 20 horas

    Medallista - Recibió un total de 10 medallas
  • FelipeMedel ganó una medalla hace 20 horas

    Buena Respuesta - Recibió +1 votos en respuesta
  • FelipeMedel ganó una medalla hace 20 horas

    Renovador - Recibió medalla Buena Respuesta en res…
  • FelipeMedel ganó una medalla hace 20 horas

    Buena Respuesta - Recibió +1 votos en respuesta
  • SoCu ganó una medalla hace 20 horas

    Buena Pregunta - Recibió +1 votos en pregunta
...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta