Ver Mensaje Individual
  #7 (permalink)  
Antiguo 15/10/2012, 20:59
Avatar de gacsnic75
gacsnic75
 
Fecha de Ingreso: septiembre-2012
Mensajes: 25
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: ¿Como acceder a componentes de un jFrame desde un jDialog?

are un poco mas complejo el problema, tengo la aplicacion de la seiguiente manera

este es la clase principal llama al Jframe que es la la ventana principal
Código:
package mytools;

import javax.swing.ImageIcon;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;

import baseobj.menuapp;


/**
 * @author GACS
 * @version 1.0
 */


public class mytools extends javax.swing.JFrame{
	public mytools(){
		setTitle("MyTools");
	    setSize(700, 450);
	    setLocationRelativeTo(null);
	    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    setVisible(true);
	    escritorio = new JDesktopPane();
        add(escritorio);    
		setIconImage (new ImageIcon("/home/gacs/gacssoftware/java/MyTools/src/imagenes/tools1.png").getImage()); 
	    menu = new menuapp();
	    add(menu);
	    this.setJMenuBar(menu);
	}
	public static void main(String[] args) {
		mytools frmapp = new mytools();
		
	
		
	}
	private JDesktopPane escritorio;
	private menuapp menu; 
}
clase menuapp es el menu principal de la aplicacion de aqui llama al jdialog (my acerca de)
Código:
package baseobj;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import java.awt.event.*;
import mytools.frmacercade;
import mytools.mytools;

import javax.swing.JFrame;

/**
 * @author GACS
 */

public class menuapp extends JMenuBar implements ActionListener{

	public menuapp(){
        mnufile = new JMenu("Archivo");
        mnutools = new JMenu("Herramienta");
        mnuhelp = new JMenu("Ayuda");
        mnuexit = new JMenuItem("Salir");
        mnuabout = new JMenuItem("Acerca de");
        add(mnufile);
        add(mnutools);
        add(mnuhelp);
        mnufile.add(mnuexit);
        mnuhelp.add(mnuabout);
        mnuexit.addActionListener(this);
        mnuabout.addActionListener(this);
	}
		private JMenu mnufile;
		private JMenu mnutools;
		private JMenu mnuhelp;
		private JMenuItem mnuexit;
		private JMenuItem mnuabout;
	
		public void actionPerformed(ActionEvent e) {
			if(e.getSource()== mnuexit)
				{
					System.exit(0);
				}
			if(e.getSource()== mnuabout)
				{
					frmacercade about = new frmacercade(new javax.swing.JFrame());
					about.setVisible(true);
				}
		}
		
		
}
este es mi jdialog(my acerca de)
Código:
package mytools;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import baseobj.basedialogo;
import baseobj.basejlbl;
import javax.swing.ImageIcon;

public class frmacercade extends basedialogo implements ActionListener {

	public frmacercade(java.awt.Frame parent){ 
		super(parent,true); 	
		setTitle("Acerca de");
		setSize(480,180);
		
		 // construir objetos
		 cmdaceptar = new baseobj.basecmd();
		 lblsoftware = new basejlbl();
         lblgacssoftware = new basejlbl();
         lbldescrip = new basejlbl();
         lblcopri = new basejlbl();
         lblcopri2 = new basejlbl();
        
        // propiedades de los objetos
         
         String path = "/home/gacs/gacssoftware/java/MyTools/src/imagenes/tools1.png";  
         ImageIcon imagen = new ImageIcon(path); 
         lblimagen = new basejlbl();
         lblimagen.setIcon(imagen);  
         
         lblimagen.setBounds(5, 10, 120, 140);
                          
         lblgacssoftware.setBounds(10, 5, 120, 15);
         lblgacssoftware.setForeground(new java.awt.Color(51, 51, 255));
         lblgacssoftware.setText("GacsSoftware");
         lblgacssoftware.setFont(new java.awt.Font("Dialog", 1, 14));
         
         lblsoftware.setBounds(115, 25, 70, 15);
         lblsoftware.setText("MyTools");
         lblsoftware.setFont(new java.awt.Font("Dialog", 1, 14));

         lbldescrip.setBounds(120, 45, 400, 40);
         lbldescrip.setText("<html> Este programa es una herramienta de calculos para  <BR> "
                            + "Ingenieros. Se Prohibe el uso de este programa sin <BR>"
                            + "  autorizacion y la modificacion parcial o total del mismo </html>");
                   
         lblcopri.setBounds(120, 90, 800, 15);
         lblcopri.setText("Vercion 1.01");
         
         lblcopri2.setBounds(120, 104, 800, 15);
         lblcopri2.setText("Copyright 2012");
         
         cmdaceptar.setLocation(10, 10);
         cmdaceptar.setText("Aceptar");
         cmdaceptar.addActionListener(this);
         //agregar los objetos al jdialogo
         
         add(lblgacssoftware);
         add(lblsoftware);
         add(lbldescrip);
         add(lblcopri);
         add(lblcopri2);
         add(lblimagen);
         add(cmdaceptar);
	}
	private baseobj.basecmd cmdaceptar;
	private baseobj.basejlbl lblsoftware;
    private baseobj.basejlbl lbldescrip;
    private baseobj.basejlbl lblcopri;
    private baseobj.basejlbl lblcopri2;
    private baseobj.basejlbl lblgacssoftware;
    private baseobj.basejlbl lblimagen;
 
    public void actionPerformed(ActionEvent e) {
		if(e.getSource()== cmdaceptar)
			{
				this.dispose();
			}
		}
}
el problema que veo es que no toma como padre mi jframe y ademas cuando quiero dar aceptar borra todo la documentacion de los jlabel. agradezco de antemano la ayuda. actualmente estoy utilizando eclipse que veo que es mas para programar en codigo que visual y quiero aprender mas codigo.
he podido llegar hasta aqui por ejemplos de la red pero me resultan confuso las sintaxis ya que no veo que sigan el mismo patron. ejemplo

Código:
      String path = "/home/gacs/gacssoftware/java/MyTools/src/imagenes/tools1.png";  
         ImageIcon imagen = new ImageIcon(path); 
         lblimagen = new basejlbl();
         lblimagen.setIcon(imagen);
Código:
		setIconImage (new ImageIcon("/home/gacs/gacssoftware/java/MyTools/src/imagenes/tools1.png").getImage());