Path: csiph.com!news.redatomik.org!news.gegeweb.eu!gegeweb.org!news.trigofacile.com!.POSTED.reverse-90.fdn.fr!not-for-mail From: Yliur Newsgroups: fr.comp.lang.java Subject: Re: Aide pour une =?UTF-8?B?c3RyYXTDqWdpZQ==?= de programmation. Date: Wed, 15 Nov 2017 09:10:49 +0100 Organization: Groupes francophones par TrigoFACILE Message-ID: <20171115091049.31aa520c@free.fr> References: <59fc966a$0$20429$426a34cc@news.free.fr> <20171107150354.5dc0969f@free.fr> <5a03af3a$0$7158$426a74cc@news.free.fr> <20171109091546.54256f71@free.fr> <5a06ff9f$0$3443$426a34cc@news.free.fr> <20171111183357.7277d116@free.fr> <5a0a6560$0$3841$426a74cc@news.free.fr> <20171114122759.223fae94@free.fr> <5a0bb923$0$11758$426a74cc@news.free.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Info: news.trigofacile.com; posting-account="yliur@free.fr"; posting-host="reverse-90.fdn.fr:80.67.176.90"; logging-data="23822"; mail-complaints-to="abuse@trigofacile.com" X-Newsreader: Claws Mail 3.15.1-dirty (GTK+ 2.24.31; x86_64-pc-linux-gnu) Xref: csiph.com fr.comp.lang.java:1603 Le 15 Nov 2017 03:48:52 GMT bloiiing a écrit : > Yliur wrote: > > > > >>>> (JTestPane) ((Chapter) (vector.getChapter())).getMainText() = > >>>> jtextPane; > >>> > >>> Là je ne vois pas bien ce que tu fais : la ligne ci-dessus ne > >>> semble pas être du code qui fonctionne (tu ne peux pas affecter > >>> jtextpane au résultat de getMainText()). > >> > >> Si. Normalement ça doit marcher. La méthode getMainText() c'est moi > >> qui l'ai inventée. C'est celle qui renverra un JTextPane de l'objet > >> Chapter. La question que je me posais était de savoir si le fait de > >> mettre le symbole = permettait de faire le lien entre la > >> représentation graphique et le JTextPane dans le Chapter du Vector. > >> Je pense qque oui mais je n'en suis pas sûr. Sinon comment fait-on > >> pour dupliquer un objet déjà? On emploi la méthode clone()? > > > > Non, ça ne peut pas marcher. > > > > Une forme valable c'est ça (on associe une valeur à un nom) : > > nomVariable = valeur ; > > > > Une autre forme possible (on passe la valeur à une fonction ; > > laquelle pourra faire elle-même une association pour stocker la > > valeur quelque part) : > > fonction (valeur) ; > > par exemple : > > chapter.setMainText (texte) ; > > avec un corps de setMainText de cette forme : > > this.mainText = texte ; > > > > Par contre tu ne peux pas utiliser cette forme : > > getMainText() = texte ; > > parce que getMainText() renvoie une valeur et donc c'est de la forme > > valeur = valeur ; > > ce qui n'est pas possible. > > > > Ça ne me renvoie pas une valeur mais un JTextPane. C'est pour ça que > je ne comprends pas pourquoi ce n'est pas possible. Mais bon, ce > n'est pas important. Quand je vais me lancer, je verrai bien si ça > marche ou pas... Il vaut mieux avoir compris ce point avant de te lancer dans ton programme java, ça va t'aider. Dans mes explications ci-dessus, un JTextPane *est une valeur*. Si ça te renvoie une valeur, ça ne peut pas se trouver à gauche d'un '='. Il existe une opposition entre les variables (au sens large : variable locale, attribut, voire paramètre de fonction), auxquelles on peut associer des valeurs, et les valeurs elles-mêmes. À gauche d'un symbole '=' tu peux avoir une variable/attribut/paramètre (bien qu'on évite pour ce dernier cas, donc je l'ignore dans la suite) : variable = ... ; attribut = ... ; Mais tu ne peux rien avoir d'autre à gauche d'un '='. Donc = ... est une forme invalide. De même que toute écriture de la forme = ... est invalide. Donc par exemple = ... ; est invalide. Je reprends le reste dans un second message.