Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Lien entre deux classe [ Divers / Débutant(e) ] (Bouboukick)

mardi 20 mai 2008 à 14:02:46 | Lien entre deux classe

Bouboukick

Bonjour, je suis occupé de faire un programme sous NetBeans et j'ai 2 fichier l'un pour mon interface graphique l'autre pour me connecter à mon port com et attendre que des données arrivent. Le problème est que lorsque je lance mon projet (les 2 fichiers sont dans le meme block) seul mon interface graphique se lance. Il doit exister un moment pour exécuter les 2 en meme temps en mettant une ligne dans mon programme main(interface) non?

Voici mes 2 fichier :

Main : (interface graphique)

package blackbox;
import java.io.*;
import java.util.*;
import javax.comm.*;

public class Main extends javax.swing.JFrame
{
    static CommPortIdentifier portId;
    static Enumeration          portList;

    public Main()
    {
        initComponents();
    }
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
    private void initComponents() {

        jComboBox1 = new javax.swing.JComboBox();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTextArea1 = new javax.swing.JTextArea();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jButton1.setText("Test Connection");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jButton2.setText("Lister les Ports");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        jTextArea1.setColumns(20);
        jTextArea1.setRows(5);
        jScrollPane1.setViewportView(jTextArea1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(jButton2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jButton1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(18, 18, 18)
                .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 209, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 357, Short.MAX_VALUE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 276, Short.MAX_VALUE)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jButton2)
                            .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton1)))
                .addContainerGap())
        );

        pack();
    }// </editor-fold>                       

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        

}                                       

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        
    portList = CommPortIdentifier.getPortIdentifiers();
    while (portList.hasMoreElements())
    {
        portId = (CommPortIdentifier) portList.nextElement();
        jComboBox1.addItem(portId.getName());
    }
}                                       
    public static void main(String args[])
    {
        java.awt.EventQueue.invokeLater(new Runnable()
        {
            public void run()
            {
                new Main().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                    
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JComboBox jComboBox1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextArea jTextArea1;
    // End of variables declaration
}

Read : (connection port com et attente données)

package blackbox;
import java.io.*;
import java.util.*;
import javax.comm.*;

public class Read implements Runnable, SerialPortEventListener {
    static CommPortIdentifier portId;
    static Enumeration          portList;
    InputStream              inputStream;
    SerialPort              serialPort;
    Thread              readThread;

    public static void main(String[] args) {
    boolean              portFound = false;
    String              defaultPort = "/dev/ttyS0";

     if (args.length > 0) {
        defaultPort = args[0];
    }
  
    portList = CommPortIdentifier.getPortIdentifiers();

    while (portList.hasMoreElements()) {
        portId = (CommPortIdentifier) portList.nextElement();
        if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
        if (portId.getName().equals(defaultPort)) {
            System.out.println("Found port: "+defaultPort);
            portFound = true;
            Read reader = new Read();
        }
        }
    }
    if (!portFound) {
        System.out.println("port " + defaultPort + " not found.");
    }
    
    }

    public Read() {
    try {
        serialPort = (SerialPort) portId.open("SimpleReadApp", 2000);
    } catch (PortInUseException e) {}

    try {
        inputStream = serialPort.getInputStream();
    } catch (IOException e) {}

    try {
        serialPort.addEventListener(this);
    } catch (TooManyListenersException e) {}

    serialPort.notifyOnDataAvailable(true);

    try {
        serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8,
                       SerialPort.STOPBITS_1,
                       SerialPort.PARITY_NONE);
    } catch (UnsupportedCommOperationException e) {}

    readThread = new Thread(this);

    readThread.start();
    }

    public void run() {
    try {
        Thread.sleep(20000);
    } catch (InterruptedException e) {}
    }

    public void serialEvent(SerialPortEvent event) {
    switch (event.getEventType()) {

    case SerialPortEvent.BI:

    case SerialPortEvent.OE:

    case SerialPortEvent.FE:

    case SerialPortEvent.PE:

    case SerialPortEvent.CD:

    case SerialPortEvent.CTS:

    case SerialPortEvent.DSR:

    case SerialPortEvent.RI:

    case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
        break;

    case SerialPortEvent.DATA_AVAILABLE:

        byte[] readBuffer = new byte[20];
        try {
        while (inputStream.available() > 0)
                {
                    int numBytes = inputStream.read(readBuffer);
        }

        System.out.print(new String(readBuffer));
        } catch (IOException e) {}

        break;
    }
    }

}


merci d'avance





Bretzel : Tout est be qui finit bien!!

mercredi 21 mai 2008 à 15:09:10 | Re : Lien entre deux classe

Bouboukick

Ce que je veux exactement faire c'est :

Lorsque je lance mon programme l'interface apparait (fichier Main) et lorsque je clique su un bouton l'autre fichier se met en route.

Comment je pui réaliser cela.

merci d'avance pour votre aide

Bretzel : Tout est be qui finit bien!!

lundi 26 mai 2008 à 08:59:10 | Re : Lien entre deux classe

Bouboukick

personne pour moi?


Bretzel : Tout est be qui finit bien!!

mardi 27 mai 2008 à 10:48:03 | Re : Lien entre deux classe

Bouboukick

Réponse acceptée !
pas de merci à vous car j'ai trouver pas grace à vous ciao

Bretzel : Tout est be qui finit bien!!



Cette discussion est classé dans : java, javax, swing, layout, grouplayout


Répondre à ce message

Sujets en rapport avec ce message

Un ptit conseil/aide serait le bienvenue (Java graphique) [ par Al3x38 ] Bonjour tout le monde ;)Voila, dans le cadre d'un projet d'informatique, je dois réaliser un petit programme en java avec une interface agéable ! Alor Creer un jPanel [ par Steph115 ] Bonjour,J'utilise ce code ci dessous pour insérer un jpanel qui a une image de fond dans un jpanel existant.Le jpanel ne s'affiche pas dans l'applicat camera [ par mimi1255 ] j'ai fait ceci, je n'ai pas d'erreur mais ma caméra ne s'affiche pas, pouvez-vous m'aider? 1er fichier: AxisCamera<pre class="alt2" dir="ltr" style="b Faire une grille de Jlabel dans une JFrame [ par ABF ] Bonjour, Je voudrais : 0) demander de sélectionner une map 1) charger un fichier texte, le parser en fonction des | et remplir un tableau 2) generer interface [ par gigi00 ] bonjour tout le monde j'ai besoin de votre aide j'ai  un projet de gestion de caisse a realise avec netbeans  , et je trouve un probleme au niveau la COMMUNICATION APPLET SERVLET avec dopsot( ) [ par Java2386 ] bonjour je vien de realisé une communication entre une servlet et une applet (JAPPLET with swing). j'ai fait (en principe ) les etapes necessaire, probleme Jframe [ par eyango ] bonjour a  toute la communauteje debute en java et je souhaitesavoir comment on ajoute des composants(jbouton,jtextfield) a une jframe voici mon code probléme avec les interfaces graphiques en java [ par Rody88 ] Bonsoir tout le monde jai un gros brobléme lorsque jessaye de lié mon IGavec mon code aauquel j'ai implémenté les classes bibliotéque,abonne et lesepr JDBC+ Interface graphique [ par JJohnny ] Salut tout le monde,J'ai un serieux problème, qui m'a bloqué ça fait 10 jours déjà...Je tiens à ce que vous sachiez que j'ai essayé mais finalement je comment récuperer le choix d'un utilisateur quand il choisit un item par exemple age dans une Jlist et récupérer la valeur du JtextField quand il ecrit 18 dans le JtextField et appuyer sur le button OK et afficher dans Jtable les personnes ki ont 18 [ par othmano246 ] bsr j'ai un programme avec un Jtable connecté  la base de donnée et qui affiche dans le Jtable les informations de chaque etudiant et en bas il un Jli


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


HTC Magic

Entre 429€ et 429€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.