Foros aprenderaprogramar.com
		Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Mickyvj en 27 de Junio 2015, 01:33
		
			
			- 
				Buenas, tengo una duda me piden crear un cuadro de diálogo con 1 combobox, 4 jtextfield y el boton Guardar, ya cree mi jdialogo con mis datos predeterminados de suavidad,tamaño de hojas, precio etc. Pero mi problema es que no se como programar el boton Guardar, es decir que al modificar los datos del modelo de mi papel estos se guarden. ahi dejo mis codigos trabajados. Uso eclipse Kepler
 
 (http://i59.tinypic.com/2wemexe.png)
 
 
 package trabajo;
 
 import javax.swing.JDialog;
 import javax.swing.JPanel;
 import javax.swing.JTextField;
 import javax.swing.JLabel;
 import javax.swing.JButton;
 import javax.swing.JComboBox;
 import javax.swing.UIManager;
 import javax.swing.border.EmptyBorder;
 import javax.swing.DefaultComboBoxModel;
 import java.awt.BorderLayout;
 import java.awt.event.ActionListener;
 import java.awt.event.ActionEvent;
 
 
 @SuppressWarnings("unused")
 public class modificarmodelo extends JDialog implements ActionListener {
 
 /**
 *
 */
 private static final long serialVersionUID = 1L;
 private final JPanel contentPanel = new JPanel();
 private JLabel lblModelo;
 private JLabel lblSuavidad;
 private JLabel lblNumerodehojas;
 private JLabel lblTamañodehoja;
 private JLabel lblPrecio;
 private JTextField txtSuavidad;
 private JTextField txtNumerodehojas;
 private JTextField txtTamañodehoja;
 private JTextField txtPrecio;
 private JButton btnCerrar;
 
 public static String modelo0,modelo1,modelo2,modelo3,modelo4,suavidad0,suavidad1,suavidad2,suavidad3,suavidad4,tamaño0,tamaño1,tamaño2,tamaño3,tamaño4;
 public static int hojas0,hojas1,hojas2,hojas3,hojas4;
 public static double precio0,precio1,precio2,precio3,precio4;
 
 private JButton btnGrabar;
 @SuppressWarnings("rawtypes")
 private JComboBox cboModelo;
 
 /**
 * Launch the application.
 */
 public static void main(String[] args) {
 try {
 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
 } catch (Throwable e) {
 e.printStackTrace();
 }
 try {
 modificarmodelo dialog = new modificarmodelo();
 dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
 dialog.setVisible(true);
 }
 catch (Exception e) {
 e.printStackTrace();
 }
 }
 
 /**
 * Create the dialog.
 */
 @SuppressWarnings({ "rawtypes", "unchecked" })
 public modificarmodelo() {
 setModal(true);
 setResizable(false);
 setTitle("Modificar modelo");
 setBounds(100, 100, 450, 195);
 getContentPane().setLayout(new BorderLayout());
 contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
 getContentPane().add(contentPanel, BorderLayout.CENTER);
 contentPanel.setLayout(null);
 
 lblModelo = new JLabel("Modelo");
 lblModelo.setBounds(10, 11, 46, 14);
 contentPanel.add(lblModelo);
 
 lblSuavidad = new JLabel("Suavidad");
 lblSuavidad.setBounds(10, 36, 112, 14);
 contentPanel.add(lblSuavidad);
 
 lblNumerodehojas = new JLabel("N\u00FAmero de hojas por rollo");
 lblNumerodehojas.setBounds(10, 61, 132, 14);
 contentPanel.add(lblNumerodehojas);
 
 lblTamañodehoja = new JLabel("Tama\u00F1o de hoja");
 lblTamañodehoja.setBounds(10, 86, 112, 14);
 contentPanel.add(lblTamañodehoja);
 
 lblPrecio = new JLabel("Precio (S/.)");
 lblPrecio.setBounds(10, 111, 79, 14);
 contentPanel.add(lblPrecio);
 
 txtSuavidad = new JTextField();
 txtSuavidad.setColumns(10);
 txtSuavidad.setBounds(152, 36, 99, 20);
 contentPanel.add(txtSuavidad);
 
 txtNumerodehojas = new JTextField();
 txtNumerodehojas.setColumns(10);
 txtNumerodehojas.setBounds(152, 61, 99, 20);
 contentPanel.add(txtNumerodehojas);
 
 txtTamañodehoja = new JTextField();
 txtTamañodehoja.setColumns(10);
 txtTamañodehoja.setBounds(152, 86, 99, 20);
 contentPanel.add(txtTamañodehoja);
 
 txtPrecio = new JTextField();
 txtPrecio.setColumns(10);
 txtPrecio.setBounds(152, 111, 99, 20);
 contentPanel.add(txtPrecio);
 
 btnCerrar = new JButton("Cerrar");
 btnCerrar.addActionListener(this);
 btnCerrar.setBounds(345, 7, 89, 23);
 contentPanel.add(btnCerrar);
 
 btnGrabar = new JButton("Grabar");
 btnGrabar.addActionListener(this);
 btnGrabar.setBounds(345, 32, 89, 23);
 contentPanel.add(btnGrabar);
 
 cboModelo = new JComboBox();
 cboModelo.setModel(new DefaultComboBoxModel(new String[] {"Confort", "Secreto", "Carm\u00EDn", "P\u00E9talo", "Panda"}));
 cboModelo.addActionListener(this);
 cboModelo.setSelectedIndex(0);
 cboModelo.setBounds(152, 8, 99, 20);
 contentPanel.add(cboModelo);
 
 }
 
 public void actionPerformed(ActionEvent e) {
 if (e.getSource() == cboModelo) {
 actionPerformedCboModelo(e);
 }
 if (e.getSource() == btnGrabar) {
 actionPerformedBtnGrabar(e);
 
 }
 
 if (e.getSource() == btnCerrar) {
 actionPerformedBtnCerrar(e);
 }
 }
 protected void actionPerformedBtnCerrar(ActionEvent e) {
 dispose();
 }
 protected void actionPerformedBtnGrabar(ActionEvent e) {
 
 
 }
 
 
 
 
 protected void actionPerformedCboModelo(ActionEvent e) {
 
 int modeloB;
 
 modeloB = getModeloN();
 MostrarDatos(modeloB);
 }
 
 
 
 
 //entrada
 
 int getModeloN(){
 return cboModelo.getSelectedIndex();
 }
 
 //metodos
 
 void MostrarDatos(int modelo){
 
 switch (modelo){
 case 0:
 suavidad0 = "Poco suave";
 hojas0 = 300;
 tamaño0 = "10 cm x 10 cm";
 precio0 = 2.0;
 txtSuavidad.setText(suavidad0);
 txtNumerodehojas.setText(String.valueOf(hojas0));
 txtTamañodehoja.setText(tamaño0);
 txtPrecio.setText(String.valueOf(precio0));
 break;
 
 case 1:
 suavidad1 = "Suave";
 hojas1 = 500;
 tamaño1 = "10.2 cm x 10.2 cm";
 precio1 = 2.8;
 txtSuavidad.setText(suavidad1);
 txtNumerodehojas.setText(String.valueOf(hojas1));
 txtTamañodehoja.setText(tamaño1);
 txtPrecio.setText(String.valueOf(precio1));
 break;
 
 case 2:
 suavidad2 = "Muy suave";
 hojas2 = 600;
 tamaño2 = "10.5 cm x 11.0 cm";
 precio2 = 3.2;
 txtSuavidad.setText(suavidad2);
 txtNumerodehojas.setText(String.valueOf(hojas2));
 txtTamañodehoja.setText(tamaño2);
 txtPrecio.setText(String.valueOf(precio2));
 break;
 
 case 3:
 suavidad3 = "Super suave";
 hojas3 = 600;
 tamaño3 = "10.5 cm x 11.0 cm";
 precio3 = 4.0;
 txtSuavidad.setText(suavidad3);
 txtNumerodehojas.setText(String.valueOf(hojas3));
 txtTamañodehoja.setText(tamaño3);
 txtPrecio.setText(String.valueOf(precio3));
 break;
 
 
 default:
 suavidad4 = "Super suave";
 hojas4 = 500;
 tamaño4 = "11.0 cm x 11.0 cm";
 precio4 = 3.6;
 txtSuavidad.setText(suavidad4);
 txtSuavidad.setText(suavidad4);
 txtNumerodehojas.setText(String.valueOf(hojas4));
 txtTamañodehoja.setText(tamaño4);
 txtPrecio.setText(String.valueOf(precio4));
 break;
 
 
 }
 }
 
 }
- 
				Hola, además de la clase modificarmodelo necesitarás otras clases. Por ejemplo la clase añadirmodelo y borrarmodelo. Además necesitarás clases como listaDeModelos, y la propia clase ModeloDePapel. La clase ModeloDePapel representaría un modelo con sus datos. La clase ListaDeModelos permitiría manejar una lista de varios modelos.
 
 El guardado se puede hacer de varias maneras: manejarse directamente por el programa, manteniendo los datos en memoria (en este caso cuando termina la ejecución del programa los datos se pierden. Es la forma más simple de trabajar). O guardarse en archivo. O guardarse en base de datos.
 
 ¿Tienes el resto de clases creadas? ¿Cómo vas a guardar los datos?
 
 Salu2