Rechercher : dans
Par :

Java 2 classes (liaison des 2...)

Dernière réponse le 10 avr 2009 à 21:11:18 Gautier, le 13 jan 2009 à 09:18:23 
 Signaler ce message aux modérateurs

Bonjour,

voila mon problème :

j ai créé 2 classes en java :

Ma première classe est constitué d une fenêtre avec une textbox et un bouton Afficher!

Ma 2ieme classe est constitué d un bandeau ou j y affiche dessus un message déroulant a l horizontale!

Ce que je veux avoir --> je veux pouvoir récup le message entré dans ma première classe pour l afficher dans mon bandeau (2ieme classe)

-------- comment je dois faire ? merci beaucoup pour vos réponse :D ---------


******************* MON CODE **************************

Fichier PanelBouton.java (fenetre texte + bouton)


package test5;

import java.awt.* ;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class PanelBouton extends Panel implements ActionListener {

private static final long serialVersionUID = 1L;


Button btnAfficher ;

TextField txtNom ;


public static void main (String arg[]) { new Window();

// Créer une fenêtre indépendante
Frame frame = new Frame ("Exemple de fenetre");

// Créer un panel
PanelBouton panelBouton = new PanelBouton ();

// Ajouter le panneau dans la fenetre
frame.add (panelBouton);

// Fixer la taille de la fenetre
frame.setSize (300, 400);

// Afficher la fenetre
frame.setVisible (true);
}


public PanelBouton () {
// Creer les composants
txtNom = new TextField (20);
btnAfficher = new Button ("Afficher");

// Les ajouter dans CE panneau
add (txtNom);
add (btnAfficher);

// Indiquer au bouton que c'est CET objet instance de PanelBouton qui gera les clics
btnAfficher.addActionListener (this);

}

public void actionPerformed(ActionEvent e) {
// Recuperer le texte tape dans le champs de texte
String texteTape = txtNom.getText();


// Afficher le texte dans la console systeme
System.out.println ("Le texte suivant a ete tape : " + texteTape);


System.exit(0);
}

}


_________________________________________________________________________

Fichier2 Window.java (Bandeau texte défilant)


package test5;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Window extends JWindow //Heritage de la classe JWindow
{
/**
*
*/
private static final long serialVersionUID = 8369728381877746335L;
private Timer t = null;



public static void main(String[] args)
{
new Window(); //création d'un nouvel objet
}

public Window()
{
initGUI();//qui à sont tour crée "initGUI()"
initMe();
}

public void initGUI()
{
//taille du JWindow
this.setSize(1500,200);
//ajoute le texte au container
this.getContentPane().add(texte);
this.getContentPane().setBackground(Color.RED);
this.setAlwaysOnTop(true);

//le jwindow est visible
this.setVisible(true);
}

public void paint(Graphics g) {
if (texte != null) {
texte.setFont(new Font("TimesRoman", Font.BOLD, 100));
texte.setForeground(Color.white);
}
}
/* public void update(Graphics g)
{
paint (g);
}*/


//initialisation du label
JLabel texte = new JLabel("Aujourd'hui nous accueillons la société DANONE ...!!! ");


private void moveText() {
// Récupération du nom de l'artiste et du titre de la piste
String s = texte.getText();
StringBuffer sb = new StringBuffer(s);
// On prend le premier caractère de la chaine...
char temp = sb.charAt(0);
// ...On le supprime...
sb.deleteCharAt(0);
sb.setLength(sb.length() + 1);
// ...Et on le positionne à la fin de la chaîne...
sb.setCharAt(sb.length() - 1, temp);
// ...Avant d'actualiser l'affichage
texte.setText(sb.toString());
}

private void initMe() {
int delay = 500;
// Action éffectuée toutes les secondes
ActionListener chrono = new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
moveText();
}
};
// Creation du timer...
if (t == null) {
t = new Timer(delay, chrono);
t.start();
}
}

}


_______________________________________________________

Voila

merci

a bientot

Configuration: Windows Vista
Firefox 3.0.5

Meilleures réponses pour « Java 2 classes (liaison des 2...) » dans :
J2EE - Java 2 Enterprise Edition Voir Introduction au Java Framework Le «Java Framework» (Java 2 Platform) est composé de trois éditions, destinées à des usages différents : J2ME : Java 2 Micro Edition est prévu pour le développement d'applications embarquées, notamment sur des...
Voir le contenu d'un fichier .jar VoirRien de plus facile que de voir ce que contient un fichier .jar: Renommez-le en .zip et ouvrez-le ! Si vous voulez voir ce que contiennent les programmes java compilés .class, vous devrez utiliser un décompilateur Java tel que JAD:...
Java - Premier programme VoirPremière application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main...
Java - Les packages VoirIntroduction aux packages La programmation Java consiste à créer des classes. Or, étant donné qu'un programme est généralement développé par une équipe de programmeurs, c'est-à-dire plusieurs personnes, le fait de concaténer (mettre bout à bout)...
Les classes Java VoirLa notion d'objet Le langage Java intègre fortement le concept objet, il s'agit donc d'un langage orienté objet (LOO). Le terme langage orienté objet est plus qu'une simple appellation de plus pour désigner un type de langage, il...

1

Char Snipeur, le 13 jan 2009 à 10:03:47

Salut.
je vois que tu as 2 main(), donc deux programmes différents, c'est ça ? Salutation !
Char Snipeur

Répondre à Char Snipeur

2

Gautier, le 13 jan 2009 à 10:06:53

Voila!

parceque j aimerais bien que la 2ieme class (bandeau reste ouverte....) et que la premiere class (fenetre avec textbox+bouton s ouvre que quand l utilisateur veut envoyer un message dans le bandeau

Répondre à Gautier

3

Char Snipeur, le 13 jan 2009 à 10:52:15

Je ne suis pas sur que ça soit la bonne façon de faire.
En plus ce pose alors le problème de communication interprocessus.
le plus simple, et le plus propre, serai de mettre un bouton sur ton bandeau qui ouvre la fenêtre avec textbox.
Ou sinon, tu fait la communication par socket. Salutation !
Char Snipeur

Répondre à Char Snipeur

4

tarek_dotzero, le 13 jan 2009 à 10:59:56

Salut,

Je pense qu'il y a une méthode plus simple: Un seul main :)

Vous créez une troisième classe qui va contenir le main, cette classe va avoir deux propriétés "static", les deux première ligne de votre main seront une initialisation et affichage des deux truc.

Vous creez une méthode "public static" qui va récuperer le message (vous l'appeler quand il click sur votre button d'envoie), cette méthode va prendre le rôle d'un "pont" qui sert à passer le(s) message(s) entre les objets "static".

Répondre à tarek_dotzero

5

Gautier, le 13 jan 2009 à 11:10:19

@tarek_dotzero,

OK je vais essayer de faire ça, ça m a l air d être une bonne idée, je vous montrerai ce que j ai fais et si ça va

Répondre à Gautier

6

Gautier, le 13 jan 2009 à 16:17:26

RE,


j avance j avance, j arrive a avoir ce que je veux mais j aimerai savoir comment on fait pour transformer un élément récupéré en String pour l afficher en tant que JLabel ?
Dans la derniere méthode :

texte = parent.texteAafficher.getText();

ca me dit qu il ne peut pas convertir en String
je dois faire quoi?

merci bcp pour votre aide ;)

______________________PROGRAMME____________________________


package test5;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Window extends JWindow implements ActionListener //implements ActionListener //Heritage de la classe JWindow
{
/**
*
*/
private static final long serialVersionUID = 8369728381877746335L;
private Timer t = null;
FenetreForm parent;
//JLabel texte;
JLabel texte;

/* public static void main(String[] args)
{
new Window(); //création d'un nouvel objet
}*/

public Window(FenetreForm parent)
{
this.parent=parent;

initGUI();//qui à sont tour crée "initGUI()"
initMe();
}

public void initGUI()
{
//taille du JWindow
this.setSize(1500,200);
//ajoute le texte au container
this.getContentPane().add(texte);
this.getContentPane().setBackground(Color.RED);
this.setAlwaysOnTop(true);

//le jwindow est visible
this.setVisible(true);
}

public void paint(Graphics g) {
if (texte != null) {
texte.setFont(new Font("TimesRoman", Font.BOLD, 100));
texte.setForeground(Color.white);
}
}
/* public void update(Graphics g)
{
paint (g);
}*/


//initialisation du label
// JLabel texte = new JLabel();
// JLabel texte = new JLabel();

private void moveText() {
// Récupération du texte
String s = texte.getText();
StringBuffer sb = new StringBuffer(s);
// On prend le premier caractère de la chaine...
char temp = sb.charAt(0);
// ...On le supprime...
sb.deleteCharAt(0);
sb.setLength(sb.length() + 1);
// ...Et on le positionne à la fin de la chaîne...
sb.setCharAt(sb.length() - 1, temp);
// ...Avant d'actualiser l'affichage
texte.setText(sb.toString());
}

private void initMe() {
int delay = 500;
// Action éffectuée toutes les secondes
ActionListener chrono = new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
moveText();
}
};
// Creation du timer...
if (t == null) {
t = new Timer(delay, chrono);
t.start();
}
}


public void actionPerformed(ActionEvent evt)
{

texte = parent.texteAafficher.getText();
System.out.println ("Le texte suivant a ete tape : " + texte);


}

}

Répondre à Gautier

7

Char Snipeur, le 13 jan 2009 à 16:32:38

Tu répond toi même :
texte.setText(parent.texteAafficher.getText()); Salutation !
Char Snipeur

Répondre à Char Snipeur

8

Gautier, le 13 jan 2009 à 18:02:31

Ca marche, niquel merci :D

Mais par contre avant quand je marquais le texte en dur dans lecode pour l afficher, j arrivais a le faire défiler sur mon bandeau, tandis que maintenant en passant par le formulaire d envoi de message sur le bandeau bah il s y écrit OK mais il ne défile plus, d ou peut venir ce probléme ? ..

Répondre à Gautier

9

Gautier, le 13 jan 2009 à 19:06:13

Probléme résolu c était rien

merci a tous

Répondre à Gautier

10

 poste22, le 10 avr 2009 à 21:11:18

Salut
je suis un débutant en java , je veux voire des aplication en java avec des interfaces
j'ai un mini projet a faire a la fin de cette année , j'ai le programme mais je doit faire l'interface
si possible de m'aider
- mettre les différent fichiers de code en java " les classe" pour que je pisse le run chez moi et le comprendre .
- si t as de cours comment lié un programme avec une interface
merci d'avance

Répondre à poste22
Collection CommentÇaMarche.net