Foros del Web » Programación para mayores de 30 ;) » Java »

java y pic

Estas en el tema de java y pic en el foro de Java en Foros del Web. hola no tengo mucha experiencia en java y estoy desarrollando una interfaz grafica para comunicar un pic con la pc por usb la pregunta es ...
  #1 (permalink)  
Antiguo 23/04/2011, 10:49
 
Fecha de Ingreso: febrero-2010
Mensajes: 22
Antigüedad: 14 años, 2 meses
Puntos: 0
java y pic

hola no tengo mucha experiencia en java y estoy desarrollando una interfaz grafica para comunicar un pic con la pc por usb la pregunta es cuando coloco "extends FrameView" no reconoce "setTitle" pero si reconoce "getResourceMap"
y cuando coloco "extends javax.swing.JFrame" hace lo contrario reconoce "setTitle" pero no "getResourceMap" hay una manera de colocar las dos extensiones? estare agradecido saludos

"extends FrameView"
Código:
package controlii;

import jPicUsb.*;
import org.jdesktop.application.Action;
import org.jdesktop.application.ResourceMap;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.FrameView;
import org.jdesktop.application.TaskMonitor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;
import javax.swing.Icon;
import javax.swing.JDialog;
import javax.swing.JFrame;

/**
 * The application's main frame.
 */
public class CONTROLIIView extends FrameView{

    public byte cmd_FW = 99;
    public byte cmd_LED = 88;

    //EFECTOS
    private Timer efecto;
    private int efecto_state;
    private int efecto_actual;
    private static byte[][] efectos = {{(byte) 0xAA, (byte) 0x55},
        {(byte) 0x00, (byte) 0x18, (byte) 0x24, (byte) 0x42, (byte) 0x81}};

    public CONTROLIIView() {
        initComponents();
        this.setTitle("jPicUsb Led Show");
        try {
            iface.load();
            setTitle("Golf Bar Graphic Interface");
        } catch (Exception e) {
            setTitle(e.getMessage());
            System.out.println(e.getMessage());
        }
        //configuramos el vid_pid del dispositivo asi podemos usar las funciones "rapidas" de la interfaz
        iface.set_vidpid("vid_04d8&pid_000b");
        //configuramos la instancia del dispositivo asi podemos usar las funciones "rapidas" de la interfaz
        iface.set_instance(0);
        //efecto
        efecto = new Timer(300, new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                efecto_next_frame();
            }
        });
        sliderv.setValue(300);
        sliderb.setValue(300);
        sliderd.setValue(300);
    }

    public CONTROLIIView(SingleFrameApplication app) {
        super(app);

        initComponents();

        // status bar initialization - message timeout, idle icon and busy animation, etc
        ResourceMap resourceMap = getResourceMap();
        int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout");
        messageTimer = new Timer(messageTimeout, new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                statusMessageLabel.setText("");
            }
        });
"extends javax.swing.JFrame"
Código:
package controlii;

import jPicUsb.*;
import org.jdesktop.application.Action;
import org.jdesktop.application.ResourceMap;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.FrameView;
import org.jdesktop.application.TaskMonitor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;
import javax.swing.Icon;
import javax.swing.JDialog;
import javax.swing.JFrame;

/**
 * The application's main frame.
 */
public class CONTROLIIView extends javax.swing.JFrame{

    public byte cmd_FW = 99;
    public byte cmd_LED = 88;

    //EFECTOS
    private Timer efecto;
    private int efecto_state;
    private int efecto_actual;
    private static byte[][] efectos = {{(byte) 0xAA, (byte) 0x55},
        {(byte) 0x00, (byte) 0x18, (byte) 0x24, (byte) 0x42, (byte) 0x81}};

    public CONTROLIIView() {
        initComponents();
        this.setTitle("jPicUsb Led Show");
        try {
            iface.load();
            setTitle("Golf Bar Graphic Interface");
        } catch (Exception e) {
            setTitle(e.getMessage());
            System.out.println(e.getMessage());
        }
        //configuramos el vid_pid del dispositivo asi podemos usar las funciones "rapidas" de la interfaz
        iface.set_vidpid("vid_04d8&pid_000b");
        //configuramos la instancia del dispositivo asi podemos usar las funciones "rapidas" de la interfaz
        iface.set_instance(0);
        //efecto
        efecto = new Timer(300, new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                efecto_next_frame();
            }
        });
        sliderv.setValue(300);
        sliderb.setValue(300);
        sliderd.setValue(300);
    }

    public CONTROLIIView(SingleFrameApplication app) {
        super(app);

        initComponents();

        // status bar initialization - message timeout, idle icon and busy animation, etc
        ResourceMap resourceMap = getResourceMap();
        int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout");
        messageTimer = new Timer(messageTimeout, new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                statusMessageLabel.setText("");
            }
        });
  #2 (permalink)  
Antiguo 24/04/2011, 08:14
 
Fecha de Ingreso: febrero-2010
Mensajes: 22
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: java y pic

la pregunta seria se puede heredar las dos cosas "extends FrameView" y "extends javax.swing.JFrame"
  #3 (permalink)  
Antiguo 24/04/2011, 10:11
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: java y pic

Hola,

Cita:
Iniciado por minssss Ver Mensaje
la pregunta seria se puede heredar las dos cosas "extends FrameView" y "extends javax.swing.JFrame"
En Java no existe la herencia múltiple. Pero dependiendo de tu aplicación posiblemente puedes usar el patrón Decorador, o creas una instancia privada de la segunda clase que quieres usar para crear polimorfismo de una manera diferente y encapsular sus métodos y propiedades dentro de la clase principal.

A guisa de ejemplo:
Código Java:
Ver original
  1. public class Demo {
  2.   private JFrame frame = new JFrame();
  3.   public void getTitle(String algo) {
  4.     // Hacer algo mas con el Titulo
  5.     frame.setTitle(algo);
  6.   }
  7. }

Con la desventaja que tienes que escribir mucho código, y posiblemente en tu caso no se pueda usar.

Saludos,

ps:

En Visual Basic 6.0 no existe ni siquiera la herencia, y crear instancias de las clases es el método para dar la ilusión de herencia y polimorfismo. En Visual Basic Express 7.0 y posteriores ya existe la herencia. Por si sirve de algo, puedes buscar información como se hace polimorfismo en VB6 para darte una idea de los patrones de programación usados cuando no hay herencia múltiple.

Última edición por HackmanC; 24/04/2011 a las 10:20 Razón: ps

Etiquetas: pic
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:46.