elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Imprimir datos en un JtextArea
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Imprimir datos en un JtextArea  (Leído 31,493 veces)
leliCabello

Desconectado Desconectado

Mensajes: 158


Ver Perfil
Imprimir datos en un JtextArea
« en: 4 Noviembre 2009, 08:19 am »

qtal amigos....necesito que me ayuden en este programita que voy haciendo...trata de que cualquier edad que haya seleccionado, el DNI que pusiera y la profesion que elija, imprima EDAD + DNI + PROFESION. todo eso en un JtextArea...aqui les dejo mi avance

Código:
package prueba;

import java.awt.Color;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.*;

public class datosPersonales extends JFrame implements ItemListener  {
String[] items = {"Ingeniero", "Arquitecto", "Enfermera", "Médico"};
JPanel panel = new JPanel();
JPanel panel2 = new JPanel();
JLabel label1 =new JLabel("Seleccione su edad");
JRadioButton rb1= new JRadioButton("18-20");
JRadioButton rb2= new JRadioButton("21-40");
JRadioButton rb3= new JRadioButton("41-60");
JRadioButton rb4= new JRadioButton("60 a más");
JLabel label2 =new JLabel("DNI");
JTextField txt =new JTextField(10);
JLabel label3 =new JLabel("Profesión");
JComboBox combo = new JComboBox(items);
JButton boton = new JButton ("Imprimir Datos");
ButtonGroup rbg;

JTextArea txtS = new JTextArea();

public void mipanel(){
getContentPane().setLayout(null);
rbg = new ButtonGroup();
rbg.add(rb1);
rbg.add(rb2);
rbg.add(rb3);
rbg.add(rb4);

rb1.setBounds(10, 60, 100, 25);
rb1.addItemListener(this);

rb2.setBounds(10, 90, 100, 25);
rb2.addItemListener(this);

rb3.setBounds(10, 120, 100, 25);
rb3.addItemListener(this);

rb4.setBounds(10, 150, 100, 25);
rb4.addItemListener(this);

label1.setBounds(0, 0, 150, 50);


panel.setLayout(null);
panel.setBounds(0, 0, -1, 1);
panel.setBackground(new Color(220,220,10));
panel.add(rb1);
panel.add(rb2);
panel.add(rb3);
panel.add(rb4);

panel.add(label1);
panel.setSize(150, 400);
setVisible(true);
setSize(400, 300);
add(panel);


panel2.setLayout(null);
panel2.setBackground(new Color(250,150,110));
panel2.setBounds(125, 0, 250, 150);
panel2.add(txtS);
panel2.add(label2);
panel2.add(label3);
panel2.add(txt);
panel2.add(combo);
panel2.add(boton);
panel2.setSize(220, 300);
setSize(350, 300);
add(panel2);
panel2.setBorder(BorderFactory.createTitledBorder("Resultados"));

label2.setBounds(40, -60, 150, 195);
txt.setBounds(70, 25, 99, 20);
label3.setBounds(40, -210, 555, 550);
combo.setBounds(99, 55, 100, 20);
boton.setBounds(50, 100, 150, 20);


}
public static void main(String[] args) {
datosPersonales obj = new datosPersonales();

obj.mipanel();
}

@Override
public void itemStateChanged(ItemEvent evento) {


}

}



En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Imprimir datos en un JtextArea
« Respuesta #1 en: 4 Noviembre 2009, 15:05 pm »

Muy sencillo haz algo como:
Código
  1. jtextarea1.setText("Nombre: " + variablenombre + "\n" + "DNI: " + variable DNI); //puedes poner mas variables
  2.  
Con eso pondras en cada linea un dato diferente con los rpecendentes de tipo cadena antepuestos a las variables que recojan los valores correspondientes.

Saludos


En línea

leliCabello

Desconectado Desconectado

Mensajes: 158


Ver Perfil
Re: Imprimir datos en un JtextArea
« Respuesta #2 en: 4 Noviembre 2009, 20:10 pm »

gracias amigo...pero ahora un pequenio detalle.....xq dni muestra NULL y ademas cuando elijo la opcion arquitecto sale medico y asi...aqui te dejo mi codigo

Código:
package prueba;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.*;

public class datosPersonales extends JFrame implements ItemListener, ActionListener  {
int a=0;
String edad;
String dni;
String profesion;
String[] items = {"Ingeniero", "Arquitecto", "Enfermera", "Médico"};
    JPanel panel = new JPanel();
JPanel panel2 = new JPanel();
JLabel label1 =new JLabel("Seleccione su edad");
JRadioButton rb1= new JRadioButton("18-20");
JRadioButton rb2= new JRadioButton("21-40");
JRadioButton rb3= new JRadioButton("41-60");
JRadioButton rb4= new JRadioButton("60 a más");
JLabel label2 =new JLabel("DNI");
JTextField txt =new JTextField(10);
JLabel label3 =new JLabel("Profesión");
JComboBox combo = new JComboBox(items);
JButton boton = new JButton ("Imprimir Datos");
ButtonGroup rbg;
JTextArea txtS = new JTextArea();
private JLabel texto;
 

    public void mipanel(){
getContentPane().setLayout(null);
rbg = new ButtonGroup();
rbg.add(rb1);
rbg.add(rb2);
rbg.add(rb3);
rbg.add(rb4);

rb1.setBounds(10, 60, 100, 25);
rb1.addItemListener(this);

rb2.setBounds(10, 90, 100, 25);


rb3.setBounds(10, 120, 100, 25);
rb3.addItemListener(this);

rb4.setBounds(10, 150, 100, 25);
rb4.addItemListener(this);

label1.setBounds(0, 0, 150, 50);
txtS.setBounds(50, 150, 150, 100);

panel.setLayout(null);
panel.setBounds(0, 0, -1, 1);
panel.setBackground(new Color(220,220,10));
panel.add(rb1);
panel.add(rb2);
panel.add(rb3);
panel.add(rb4);

panel.add(label1);
panel.setSize(150, 400);
setVisible(true);
setSize(400, 300);
add(panel);


panel2.setLayout(null);
panel2.setBackground(new Color(250,150,110));
panel2.setBounds(125, 0, 250, 150);
panel2.add(txtS);
panel2.add(label2);
panel2.add(label3);
panel2.add(txt);
panel2.add(combo);
panel2.add(boton);
panel2.setSize(220, 300);
panel2.add(txtS);
setSize(350, 300);
add(panel2);

//panel2.setBorder(BorderFactory.createTitledBorder("Resultados"));

label2.setBounds(40, -60, 150, 195);
txt.setBounds(70, 25, 99, 20);
label3.setBounds(40, -210, 555, 550);
combo.setBounds(99, 55, 100, 20);
boton.setBounds(50, 100, 150, 20);
boton.addActionListener(this);

}
public static void main(String[] args) {
datosPersonales obj = new datosPersonales();

obj.mipanel();
}

@Override
public void itemStateChanged(ItemEvent evento) {

//JTextArea(texto.getText() + combo.getSelectedItem());
        int opcion = combo.getSelectedIndex();
if (opcion ==0){
profesion= ("Ingeniero");}
if (opcion ==1){
profesion= ("Arquitecto");}
if (opcion ==2){
profesion= ("Enfermera");}
if (opcion ==3){
profesion= ("Médico");}

if (rb1.isSelected()){
edad = ("18 a 20");}
if (rb2.isSelected()){
edad = ("21 a 40");}
if (rb3.isSelected()){
edad = ("41 a 60");}
if (rb4.isSelected()){
edad = ("60 a más");}
//texto.setText("" + sueldoTotal);
dni=texto.getText();
}

@Override
public void actionPerformed(ActionEvent event) {

if( event.getSource().equals(boton) ){
//txtS.setText(texto.getText() + (String)combo.getSelectedItem() );
txtS.setText("\n" + "Edad: " + edad + "\n" + "DNI: " + dni +"\n" + "Profesion: " + profesion);
}
     
}

}
En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Imprimir datos en un JtextArea
« Respuesta #3 en: 4 Noviembre 2009, 21:14 pm »

gracias amigo...pero ahora un pequenio detalle.....xq dni muestra NULL y ademas cuando elijo la opcion arquitecto sale medico y asi...aqui te dejo mi codigo
Esto ocurre porque no asignas valor alguno a la variable dni, por tanto tiene valor null o 0, en cuanto a lo la profesion, esto se debe a que no haces la lectura correcta que asigna el controlador de flujo switch.
Asegurate de que las equivalencias entre valores es la correcta y dime algo.

Es un simple problema de logica de flujo.

Saludos
En línea

sapito169


Desconectado Desconectado

Mensajes: 629



Ver Perfil
Re: Imprimir datos en un JtextArea
« Respuesta #4 en: 4 Noviembre 2009, 23:05 pm »

-te felisito as dado el primer paso y mas inportante de todos para ser un programador de verdad (no usar netbeans) no vas a ser uno mas del monton que no sabe nisiquiera que es lo que ase su propio codigo
-te cuento que tu programa comete un error de rendimiento no se del resto pero a mi me buelve loco tu formulario cuando lo "sierras" deve serrarse tu formulrio lo unico que ase es volverse invisible lo corriges con esto
Código:
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
-simpre ponle nombre referenciales a las varibles ejemplo txtNombre,txtSueldo,no a no txt no text
-as cometido un error victima del no usar nomenclaturas as creado una caja de texto que nunca la as usado ("text") y ensima la leiste despues es por eso que te vota un nullpointerexeception
-simpre que tienes barios radiobutons agrupados por un buton grup seleciona uno por defecto
-acostumbrate a usar el constructor de las clases
-create un metodo initialiseconponents dentro del constructor de tu clase grafica para indicar que ese metodo es el encargado agregar los conponentes graficos a tu ventana
En línea

sapito169


Desconectado Desconectado

Mensajes: 629



Ver Perfil
Re: Imprimir datos en un JtextArea
« Respuesta #5 en: 4 Noviembre 2009, 23:08 pm »

aca esta tu problema resuelto
Código:
package javaapplication1;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;


/**
 *
 * @author luis
 */
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.*;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.*;

public class FrmEjemplo extends JFrame implements ActionListener {

    int a = 0;
    String edad;
    String dni;
    String profesion;
    String[] items = {"Ingeniero", "Arquitecto", "Enfermera", "Médico"};
    JPanel panel = new JPanel();
    JPanel panel2 = new JPanel();
    JLabel label1 = new JLabel("Seleccione su edad");
    JRadioButton rb1 = new JRadioButton("18-20");
    JRadioButton rb2 = new JRadioButton("21-40");
    JRadioButton rb3 = new JRadioButton("41-60");
    JRadioButton rb4 = new JRadioButton("60 a más");
    JLabel label2 = new JLabel("DNI");
    JTextField txtNombre = new JTextField(10);
    JLabel label3 = new JLabel("Profesión");
    JComboBox combo = new JComboBox(items);
    JButton boton = new JButton("Imprimir Datos");
    ButtonGroup rbg;
    JTextArea txtS = new JTextArea();
    private JLabel texto;

    public void FrmEjemplo() {
        getContentPane().setLayout(null);
        rbg = new ButtonGroup();
        rbg.add(rb1);
        rbg.add(rb2);
        rbg.add(rb3);
        rbg.add(rb4);

        rb1.setBounds(10, 60, 100, 25);


        rb2.setBounds(10, 90, 100, 25);


        rb3.setBounds(10, 120, 100, 25);


        rb4.setBounds(10, 150, 100, 25);

        label1.setBounds(0, 0, 150, 50);
        txtS.setBounds(50, 150, 150, 100);

        panel.setLayout(null);
        panel.setBounds(0, 0, -1, 1);
        panel.setBackground(new Color(220, 220, 10));
        panel.add(rb1);
        panel.add(rb2);
        panel.add(rb3);
        panel.add(rb4);

        panel.add(label1);
        panel.setSize(150, 400);
        setVisible(true);
        setSize(400, 300);
        add(panel);


        panel2.setLayout(null);
        panel2.setBackground(new Color(250, 150, 110));
        panel2.setBounds(125, 0, 250, 150);
        panel2.add(txtS);
        panel2.add(label2);
        panel2.add(label3);
        panel2.add(txtNombre);
        panel2.add(combo);
        panel2.add(boton);
        panel2.setSize(220, 300);
        panel2.add(txtS);
        setSize(350, 300);
        add(panel2);

        //panel2.setBorder(BorderFactory.createTitledBorder("Resultados"));

        label2.setBounds(40, -60, 150, 195);
        txtNombre.setBounds(70, 25, 99, 20);
        label3.setBounds(40, -210, 555, 550);
        combo.setBounds(99, 55, 100, 20);
        boton.setBounds(50, 100, 150, 20);
        boton.addActionListener(this);

    }
    @Override
    public void actionPerformed(ActionEvent event) {
        int opcion = combo.getSelectedIndex();
        if (opcion == 0) {
            profesion = ("Ingeniero");
        }
        if (opcion == 1) {
            profesion = ("Arquitecto");
        }
        if (opcion == 2) {
            profesion = ("Enfermera");
        }
        if (opcion == 3) {
            profesion = ("Médico");
        }

        if (rb1.isSelected()) {
            edad = ("18 a 20");
        }
        if (rb2.isSelected()) {
            edad = ("21 a 40");
        }
        if (rb3.isSelected()) {
            edad = ("41 a 60");
        }
        if (rb4.isSelected()) {
            edad = ("60 a más");
        }
        //texto.setText("" + sueldoTotal);
        dni = txtNombre.getText();
        if (event.getSource().equals(boton)) {
 
            txtS.setText("\n" + "Edad: " + edad + "\n" + "DNI: " + dni + "\n" + "Profesion: " + profesion);
        }

    }
    public static void main(String[] args) {
        FrmEjemplo obj = new FrmEjemplo();
        obj.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        obj.setVisible(true);
        //obj.mipanel();
    }
}

En línea

leliCabello

Desconectado Desconectado

Mensajes: 158


Ver Perfil
Re: Imprimir datos en un JtextArea
« Respuesta #6 en: 5 Noviembre 2009, 00:55 am »

 ;-) ehhh...gracias ustedes si que saben  lo que hacen he!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problemas con jTextarea
Java
aldg 2 3,623 Último mensaje 20 Febrero 2012, 04:38 am
por rub'n
Imprimir matriz de enteros en un jTextArea
Java
falko0n 5 17,141 Último mensaje 26 Marzo 2012, 20:08 pm
por Proteus1989
Máscara para JTextArea
Java
axeelcs 3 2,824 Último mensaje 7 Julio 2012, 14:51 pm
por axeelcs
codigo para jTextArea
Dudas Generales
willo 1 2,534 Último mensaje 20 Agosto 2012, 22:45 pm
por Nasty35
[resuelto] imprimir lista con datos de db
PHP
gAb1 8 3,141 Último mensaje 7 Octubre 2014, 21:12 pm
por gAb1
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines