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 Puntos7400

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.

Otras Preguntas y Respuestas


...

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

Conecta