Conception, dessiner (oui, c vague, ms le sujet est dur à résumer) - Java - Programmation
Marsh Posté le 31-07-2002 à 16:10:43
el_gringo a écrit a écrit : Je suis en train de concevoir une objet qui s'appel JPage une JPage contient une liste des calques (JLayer) qui, superposés, les uns sur les autres dans un ordre donné, donnent une Page finale. Un JLayer défini un essemble d'éléments (JLayerItem), qui ont chacun une position. Un JLayerItem peut être une image bitmap, tiff, ou autre, du texte, ... Bref, voila ce qu'est une page (en éspèrant que vous ayez compris ce que j'essaie de dire) Je suis en train de définir la structure de ma classe JPage. un page a une méthode draw, qui appelle successivement la méthodes draw de chaque JLayer. Mon problème c'est sur le paramètre à passer à la méthode draw. Sachant qu'une JPage peut être utilisée dans le contexte d'une servlet (donc la sortie doit être du HTML), d'une application Java (g jammais fait d'appli Java, donc je sais pas bien...), ou autre chose si nécessaire (je sais pas quoi). Comment faire pour que JPage puisse être suffisament vague pour que la méthode draw d'une JHTMLPage l'implémentant puisse prendre une OutputStream en paramètre, qu'un JAwtPage puisse prendre un GraphicsDevice, qu'un JSwingPage puisse prendre je n'sais quoi, ... ? |
public interface IJPage {
public method draw(ISource);
}
public interface ISource {
// je sais pas quoi, c'est a voir...
}
pour l'utiliser....
public class JPage implements IJPage{
public method draw(ISource source){
//fait ton boulot...
}
}
public class JSource implements ISource{
}
Dans le code ça donne:
JSource source;
JPage page;
...
page.draw(JSource);
...
et oui, désolé, pas de templates en Java!
Marsh Posté le 31-07-2002 à 16:20:24
ha ouais, merci.
G encore un peu de mal avec les interfaces moi !
Marsh Posté le 31-07-2002 à 16:48:59
[question con]Je connais pas trop les JLayer. L'avantage, c'est qu'on les positionner facilement sur l'axe z. Et à part ça ?[/question con]
Marsh Posté le 31-07-2002 à 17:21:58
bobuse a écrit a écrit : [question con]Je connais pas trop les JLayer. L'avantage, c'est qu'on les positionner facilement sur l'axe z. Et à part ça ?[/question con] |
Tu m'as fait un peu peur...
Dans le JDK, ça existe pas les JLayer. Y a des JLayeredPane, qui ressemble un peu apparement un peu à mes JLayer, sauf qu'apparement, les JLayeredPane, c uniquement pr afficher des composants swing. Mon Layer sert à afficher un peu tout (des images (Swing ou JAI), du texte, ou d'autres choses.
Quoi qu'y a une truc qui serait bien, c que j'arrive à faire que toutes mes sources (une image issue de JAI, un fichier texte brut, ...) deviennent des composant (Component voir JComponent). Comme ça, je pourrais les gérer avec les composants swing (comme un JLayeredPane)
c possible ça d'après vous ?
Marsh Posté le 31-07-2002 à 17:34:09
el_gringo a écrit a écrit : Tu m'as fait un peu peur... Dans le JDK, ça existe pas les JLayer. Y a des JLayeredPane, qui ressemble un peu apparement un peu à mes JLayer, sauf qu'apparement, les JLayeredPane, c uniquement pr afficher des composants swing. Mon Layer sert à afficher un peu tout (des images (Swing ou JAI), du texte, ou d'autres choses. Quoi qu'y a une truc qui serait bien, c que j'arrive à faire que toutes mes sources (une image issue de JAI, un fichier texte brut, ...) deviennent des composant (Component voir JComponent). Comme ça, je pourrais les gérer avec les composants swing (comme un JLayeredPane) c possible ça d'après vous ? |
Ben il suffit de definir une transformation source->Composant
du style une methode :
JComponent getComponent();
dans l'interface ISource.
Apres, tu peux implementer cette methode de maniere à delivrer un JTextfield dans une classe abstraite AbstractTextSource qui te servirait de base à toutes tes sources textes par exemple.
Marsh Posté le 31-07-2002 à 15:58:14
Je suis en train de concevoir une objet qui s'appel JPage
une JPage contient une liste des calques (JLayer) qui, superposés, les uns sur les autres dans un ordre donné, donnent une Page finale.
Un JLayer défini un essemble d'éléments (JLayerItem), qui ont chacun une position.
Un JLayerItem peut être une image bitmap, tiff, ou autre, du texte, ...
Bref, voila ce qu'est une page (en éspèrant que vous ayez compris ce que j'essaie de dire)
Je suis en train de définir la structure de ma classe JPage.
un page a une méthode draw, qui appelle successivement la méthodes draw de chaque JLayer.
Mon problème c'est sur le paramètre à passer à la méthode draw. Sachant qu'une JPage peut être utilisée dans le contexte d'une servlet (donc la sortie doit être du HTML), d'une application Java (g jammais fait d'appli Java, donc je sais pas bien...), ou autre chose si nécessaire (je sais pas quoi).
Comment faire pour que JPage puisse être suffisament vague pour que la méthode draw d'une JHTMLPage l'implémentant puisse prendre une OutputStream en paramètre, qu'un JAwtPage puisse prendre un GraphicsDevice, qu'un JSwingPage puisse prendre je n'sais quoi, ... ?
Message édité par El_gringo le 31-07-2002 à 15:59:53