Autor
|
Tema: Imprimir datos en un JtextArea (Leído 31,493 veces)
|
leliCabello
Desconectado
Mensajes: 158
|
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 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
Mensajes: 2.021
Actualizate o muere!
|
Muy sencillo haz algo como: jtextarea1.setText("Nombre: " + variablenombre + "\n" + "DNI: " + variable DNI); //puedes poner mas variables
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
Mensajes: 158
|
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 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
Mensajes: 2.021
Actualizate o muere!
|
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
Mensajes: 629
|
-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 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
Mensajes: 629
|
aca esta tu problema resuelto 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
Mensajes: 158
|
ehhh...gracias ustedes si que saben lo que hacen he!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problemas con jTextarea
Java
|
aldg
|
2
|
3,623
|
20 Febrero 2012, 04:38 am
por rub'n
|
|
|
Imprimir matriz de enteros en un jTextArea
Java
|
falko0n
|
5
|
17,141
|
26 Marzo 2012, 20:08 pm
por Proteus1989
|
|
|
Máscara para JTextArea
Java
|
axeelcs
|
3
|
2,824
|
7 Julio 2012, 14:51 pm
por axeelcs
|
|
|
codigo para jTextArea
Dudas Generales
|
willo
|
1
|
2,534
|
20 Agosto 2012, 22:45 pm
por Nasty35
|
|
|
[resuelto] imprimir lista con datos de db
PHP
|
gAb1
|
8
|
3,141
|
7 Octubre 2014, 21:12 pm
por gAb1
|
|