Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.java > #8575 > unrolled thread
| Started by | Gulp® <gulp@hotmail.it> |
|---|---|
| First post | 2015-10-05 17:37 +0200 |
| Last post | 2015-10-06 08:50 -0700 |
| Articles | 16 — 4 participants |
Back to article view | Back to it.comp.java
importi giustificati a destra Gulp® <gulp@hotmail.it> - 2015-10-05 17:37 +0200
Re: importi giustificati a destra 4ndre4 <a.laforgia@gmail.com> - 2015-10-05 08:49 -0700
Re: importi giustificati a destra Gulp® <gulp@hotmail.it> - 2015-10-05 17:57 +0200
Re: importi giustificati a destra "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2015-10-05 18:46 +0200
Re: importi giustificati a destra Gulp® <gulp@hotmail.it> - 2015-10-05 18:59 +0200
Re: importi giustificati a destra 4ndre4 <a.laforgia@gmail.com> - 2015-10-05 10:36 -0700
Re: importi giustificati a destra Gulp® <gulp@hotmail.it> - 2015-10-05 20:46 +0200
Re: importi giustificati a destra "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2015-10-05 19:54 +0200
Re: importi giustificati a destra Gulp® <gulp@hotmail.it> - 2015-10-05 20:36 +0200
Re: importi giustificati a destra "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2015-10-06 06:57 +0200
Re: importi giustificati a destra Gulp® <gulp@hotmail.it> - 2015-10-05 20:44 +0200
Re: importi giustificati a destra Delta11 <delta11NSP@email.it> - 2015-10-05 21:13 +0200
Re: importi giustificati a destra "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2015-10-06 07:15 +0200
Re: importi giustificati a destra Delta11 <delta11NSP@email.it> - 2015-10-06 09:09 +0200
Re: importi giustificati a destra "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2015-10-06 17:00 +0200
Re: importi giustificati a destra 4ndre4 <a.laforgia@gmail.com> - 2015-10-06 08:50 -0700
| From | Gulp® <gulp@hotmail.it> |
|---|---|
| Date | 2015-10-05 17:37 +0200 |
| Subject | importi giustificati a destra |
| Message-ID | <muu5lr$s1h$1@speranza.aioe.org> |
Dovrei stampare incolonnando degli importi e destra. Come si fa a giustificare degli importi a destra? In visulbasic ricavavo la larghezza in mm della stringa di testo e la sottraevo alla coordinata x. In Java? -- Gulp® (forse mi sono perso qualcosa :))
[toc] | [next] | [standalone]
| From | 4ndre4 <a.laforgia@gmail.com> |
|---|---|
| Date | 2015-10-05 08:49 -0700 |
| Message-ID | <82cec62b-f2f1-4683-a0a3-ba4afe7cfb96@googlegroups.com> |
| In reply to | #8575 |
On Monday, 5 October 2015 16:40:47 UTC+1, Gulp® wrote: [...] > In visulbasic ricavavo la larghezza in mm della stringa di testo e la > sottraevo alla coordinata x. Cioe` tu lavoravi con le stringhe contando i millimetri?
[toc] | [prev] | [next] | [standalone]
| From | Gulp® <gulp@hotmail.it> |
|---|---|
| Date | 2015-10-05 17:57 +0200 |
| Message-ID | <muu6qg$ulg$1@speranza.aioe.org> |
| In reply to | #8576 |
Il 05/10/15 17:49, 4ndre4 ha scritto: > On Monday, 5 October 2015 16:40:47 UTC+1, Gulp® wrote: > > [...] >> In visulbasic ricavavo la larghezza in mm della stringa di testo e la >> sottraevo alla coordinata x. > > Cioe` tu lavoravi con le stringhe contando i millimetri? > Forse mi sono espresso male: Printer.CurrentX = 184 - Printer.TextWidth(Format(importoriga(i).Text, "##,##0.00")) 184 sono millimetri -- Gulp® (forse mi sono perso qualcosa :))
[toc] | [prev] | [next] | [standalone]
| From | "Dr.UgoGagliardelli" <do.not.spam@me.please> |
|---|---|
| Date | 2015-10-05 18:46 +0200 |
| Message-ID | <muu9hm$6fd$1@speranza.aioe.org> |
| In reply to | #8575 |
Il 05.10.2015 17.37, Gulp® ha scritto: > Dovrei stampare incolonnando degli importi e destra. > Come si fa a giustificare degli importi a destra? > > In visulbasic ricavavo la larghezza in mm della stringa di testo e la > sottraevo alla coordinata x. > In Java? > Ad esempio in un JTextField? In tal caso in java e' molto piu semplice usa il metodo: textField.setHorizontalAlignment(JTextField.RIGHT); Se invece si tratta di una cella di tabella, dovresti usare i TableColumnModel, configurando ogni TableColumn fornendo un TableCellRenderer che operi l'allineamento. Stante che puoi fare nello stesso modo del visulbasic, con la differenza che le coordinate sono in pixel e non in mm, e possono essere relative allo schermo o al sistema di coordinate del contenitore dipendentemente dal metodo che usi. Inoltre potrebbe essere che il tuo campo sia definito con una lunghezza maggiore di quella visualizzata, e le cose ovviamente potrebbero essere diverse da quanto atteso, nel senso che se allineato a sinistra potresti vedere un valore troncato, mentre se allineato a destra potresti non vederlo affato nel caso che il valore da visualizzare sia inferiore all'area non visualizzata..
[toc] | [prev] | [next] | [standalone]
| From | Gulp® <gulp@hotmail.it> |
|---|---|
| Date | 2015-10-05 18:59 +0200 |
| Message-ID | <muuadj$8fd$1@speranza.aioe.org> |
| In reply to | #8578 |
Il 05/10/15 18:46, Dr.UgoGagliardelli ha scritto: > Il 05.10.2015 17.37, Gulp® ha scritto: >> Dovrei stampare incolonnando degli importi e destra. >> Come si fa a giustificare degli importi a destra? >> >> In visulbasic ricavavo la larghezza in mm della stringa di testo e la >> sottraevo alla coordinata x. >> In Java? >> > Ad esempio in un JTextField? No non un JTextfiled. Devo giustificare a destra una serie di importi, ma per una stampa su carta. String cod=txtCod[i].getText(); String des=txtDescrizione[i].getText(); String qt=txtQuantita[i].getText(); String imp=txtImportoriga[i].getText(); g2d.drawString(cod, 35,y); g2d.drawString(des, 95, y); g2d.drawString(qt, 440, y); g2d.drawString(imp, 510, y); Ma l'ultima riga di codice dovrebbe essere modificata per ottenere un allineamento a destra dei numeri di importo, quindi quel 510 non dovrebbe essere tale ma 510- la larghezza di imp. Come scrivevo a 4ndre4 in basic sarebbe: Printer.CurrentX = 510 - Printer.TextWidth(imp) -- Gulp® (forse mi sono perso qualcosa :))
[toc] | [prev] | [next] | [standalone]
| From | 4ndre4 <a.laforgia@gmail.com> |
|---|---|
| Date | 2015-10-05 10:36 -0700 |
| Message-ID | <1efdb2b9-da40-496e-8c8c-81bf1057d082@googlegroups.com> |
| In reply to | #8579 |
On Monday, 5 October 2015 18:01:43 UTC+1, Gulp® wrote:
[...]
private static String formatNumberWithWidth(int number, int width) {
return String.format("%"+width+"d", number);
}
public static void main(String[] args) {
System.out.println(formatNumberWithWidth(2550, 50));
}
Trova il modo di ricavare quel width in millimetri.
[toc] | [prev] | [next] | [standalone]
| From | Gulp® <gulp@hotmail.it> |
|---|---|
| Date | 2015-10-05 20:46 +0200 |
| Message-ID | <muugo6$ojd$2@speranza.aioe.org> |
| In reply to | #8580 |
In java mi sono rassegnato a lavorare in unità punti, anche se in un caso particolare, dovendo stampare alcuni dati su un modulo prestampato (una ricevuta sanitaria) ho creato una classe di conversione che mi permette di impostare in millimetri in fase di stesura del codice, così riesco ad incasellare i dati al loro posto. ringrazio di aver risposto. Ciao -- Gulp® (forse mi sono perso qualcosa :))
[toc] | [prev] | [next] | [standalone]
| From | "Dr.UgoGagliardelli" <do.not.spam@me.please> |
|---|---|
| Date | 2015-10-05 19:54 +0200 |
| Message-ID | <muudgc$gjn$1@speranza.aioe.org> |
| In reply to | #8579 |
Il 05.10.2015 18.59, Gulp® ha scritto: > Il 05/10/15 18:46, Dr.UgoGagliardelli ha scritto: >> Il 05.10.2015 17.37, Gulp® ha scritto: >>> Dovrei stampare incolonnando degli importi e destra. >>> Come si fa a giustificare degli importi a destra? >>> >>> In visulbasic ricavavo la larghezza in mm della stringa di testo e la >>> sottraevo alla coordinata x. >>> In Java? >>> >> Ad esempio in un JTextField? > > No non un JTextfiled. > > Devo giustificare a destra una serie di importi, ma per una stampa su > carta. > > String cod=txtCod[i].getText(); > String des=txtDescrizione[i].getText(); > String qt=txtQuantita[i].getText(); > String imp=txtImportoriga[i].getText(); > > g2d.drawString(cod, 35,y); > g2d.drawString(des, 95, y); > g2d.drawString(qt, 440, y); > g2d.drawString(imp, 510, y); > > Ma l'ultima riga di codice dovrebbe essere modificata per ottenere un > allineamento a destra dei numeri di importo, quindi quel 510 non > dovrebbe essere tale ma 510- la larghezza di imp. > Come scrivevo a 4ndre4 in basic sarebbe: > > Printer.CurrentX = 510 - Printer.TextWidth(imp) > Capisco, in ogni caso la string imp non ha una dimensione fissa, dipende dal font con cui la scrivi. Poiche' il font fa parte dell'oggetto Graphics, che utilizzi per drwString. Il font di solito proviene dal contesto da cui prelevi l'oggetto Graphics, oppure da uno impostato, comunque con g2d.getFont(). Utilizzando tale font puoi calcolare la dimensione il pixel da utilizzare per calcolare la dimensione della tua stringa. Ad esempio: Font font = g2d.getFont(); FontMetrics fm = Toolkit.getDefaultToolkit().getFontMetrics(font); int width = fm.charsWidth(text.toCharArray(), 0, text.length);
[toc] | [prev] | [next] | [standalone]
| From | Gulp® <gulp@hotmail.it> |
|---|---|
| Date | 2015-10-05 20:36 +0200 |
| Message-ID | <muug4n$n8q$1@speranza.aioe.org> |
| In reply to | #8581 |
Il 05/10/15 19:54, Dr.UgoGagliardelli ha scritto: > Il font di solito proviene dal > contesto da cui prelevi l'oggetto Graphics, oppure da uno impostato, lo potrei comunque impostare fisso. > comunque con g2d.getFont(). Utilizzando tale font puoi calcolare la > dimensione il pixel da utilizzare per calcolare la dimensione della tua > stringa. Ad esempio: > > Font font = g2d.getFont(); > FontMetrics fm = Toolkit.getDefaultToolkit().getFontMetrics(font); > int width = fm.charsWidth(text.toCharArray(), 0, text.length); Mi da un problema: FontMetrics fm = Toolkit.getDefaultToolkit().getFontMetrics(fonti); getFontMetrics nel codice viene barrato come non fosse disponibile. -- Gulp® (forse mi sono perso qualcosa :))
[toc] | [prev] | [next] | [standalone]
| From | "Dr.UgoGagliardelli" <do.not.spam@me.please> |
|---|---|
| Date | 2015-10-06 06:57 +0200 |
| Message-ID | <muvkbt$ubc$1@speranza.aioe.org> |
| In reply to | #8582 |
Il 05.10.2015 20.36, Gulp® ha scritto: > Il 05/10/15 19:54, Dr.UgoGagliardelli ha scritto: >> Il font di solito proviene dal >> contesto da cui prelevi l'oggetto Graphics, oppure da uno impostato, > > lo potrei comunque impostare fisso. > >> comunque con g2d.getFont(). Utilizzando tale font puoi calcolare la >> dimensione il pixel da utilizzare per calcolare la dimensione della tua >> stringa. Ad esempio: >> >> Font font = g2d.getFont(); >> FontMetrics fm = Toolkit.getDefaultToolkit().getFontMetrics(font); >> int width = fm.charsWidth(text.toCharArray(), 0, text.length); > > Mi da un problema: > FontMetrics fm = Toolkit.getDefaultToolkit().getFontMetrics(fonti); > > getFontMetrics nel codice viene barrato come non fosse disponibile. > Il metodo e' marcato deprecato dal jdk 1.2, il javadoc suggerisce di utilizzare un oggetto LineMetrics, che pero' non ha metodi 'comodi come FontMetrics. Dagli altri post ho capito che devi stampare su una stampante, quindi immagino che tu stia utilizzando l'interfaccia Printable, in tal caso dovresti utilizzare g2d.getFontMetrics() oppure g2d.getFontMetrics(font) Ti segnalo anche il metodo: int width = fm.stringWidth(text); che fa esattamente la stessa cosa del metodo che ti avevo consigliato in precedenza, charsWidth, che e' quello che utilizzo per abitudine.
[toc] | [prev] | [next] | [standalone]
| From | Gulp® <gulp@hotmail.it> |
|---|---|
| Date | 2015-10-05 20:44 +0200 |
| Message-ID | <muugki$ojd$1@speranza.aioe.org> |
| In reply to | #8581 |
No, in realtà funziona lo stesso. Ti ringrazio molto Ugo. Ciao -- Gulp® (forse mi sono perso qualcosa :))
[toc] | [prev] | [next] | [standalone]
| From | Delta11 <delta11NSP@email.it> |
|---|---|
| Date | 2015-10-05 21:13 +0200 |
| Message-ID | <muui0r$pj7$1@dont-email.me> |
| In reply to | #8575 |
Il 05/10/2015 17.37, Gulp® ha scritto: > Dovrei stampare incolonnando degli importi e destra. > Come si fa a giustificare degli importi a destra? > > In visulbasic ricavavo la larghezza in mm della stringa di testo e la > sottraevo alla coordinata x. > In Java? > in COBOL è tutto automatico PIC 9999,99 in automatico i soli numeri li allinea a destra PIC XXXXXX JUST RIGHT alfanumerico allineato a destra ti basta fare la MOVE. troppo facile! -- (..) la rivoluzione non è un pranzo di gala, non è una festa letteraria, non è un disegno o un ricamo; non si può fare con tanta eleganza, con tanta serenità e delicatezza, con tanta grazia e cortesia. La rivoluzione è un atto di violenza, è l'azione implacabile di una classe che abbatte il potere di un'altra classe. (Mao Tze-tung)
[toc] | [prev] | [next] | [standalone]
| From | "Dr.UgoGagliardelli" <do.not.spam@me.please> |
|---|---|
| Date | 2015-10-06 07:15 +0200 |
| Message-ID | <muvldg$vr0$1@speranza.aioe.org> |
| In reply to | #8585 |
Il 05.10.2015 21.13, Delta11 ha scritto: > Il 05/10/2015 17.37, Gulp® ha scritto: >> Dovrei stampare incolonnando degli importi e destra. >> Come si fa a giustificare degli importi a destra? >> >> In visulbasic ricavavo la larghezza in mm della stringa di testo e la >> sottraevo alla coordinata x. >> In Java? >> > > in COBOL è tutto automatico > PIC 9999,99 in automatico i soli numeri li allinea a destra > PIC XXXXXX JUST RIGHT alfanumerico allineato a destra > > ti basta fare la MOVE. > > troppo facile! > Risposta da facilone. E se il font e' tipografico? In tal caso in COBOL non hai nessun modo.
[toc] | [prev] | [next] | [standalone]
| From | Delta11 <delta11NSP@email.it> |
|---|---|
| Date | 2015-10-06 09:09 +0200 |
| Message-ID | <muvrvu$om9$1@dont-email.me> |
| In reply to | #8587 |
Il 06/10/2015 07.15, Dr.UgoGagliardelli ha scritto: > Il 05.10.2015 21.13, Delta11 ha scritto: >> Il 05/10/2015 17.37, Gulp® ha scritto: >>> Dovrei stampare incolonnando degli importi e destra. >>> Come si fa a giustificare degli importi a destra? >>> >>> In visulbasic ricavavo la larghezza in mm della stringa di testo e la >>> sottraevo alla coordinata x. >>> In Java? >>> >> >> in COBOL è tutto automatico >> PIC 9999,99 in automatico i soli numeri li allinea a destra >> PIC XXXXXX JUST RIGHT alfanumerico allineato a destra >> >> ti basta fare la MOVE. >> >> troppo facile! >> > Risposta da facilone. E se il font e' tipografico? In tal caso in COBOL > non hai nessun modo. > anche qua vieni a rompermi il cazzo? dottorazzo saccente tuttologo del cazzo! -- (..) la rivoluzione non è un pranzo di gala, non è una festa letteraria, non è un disegno o un ricamo; non si può fare con tanta eleganza, con tanta serenità e delicatezza, con tanta grazia e cortesia. La rivoluzione è un atto di violenza, è l'azione implacabile di una classe che abbatte il potere di un'altra classe. (Mao Tze-tung)
[toc] | [prev] | [next] | [standalone]
| From | "Dr.UgoGagliardelli" <do.not.spam@me.please> |
|---|---|
| Date | 2015-10-06 17:00 +0200 |
| Message-ID | <mv0nm2$l7p$1@speranza.aioe.org> |
| In reply to | #8588 |
Il 06.10.2015 09.09, Delta11 ha scritto: > Il 06/10/2015 07.15, Dr.UgoGagliardelli ha scritto: [...] > anche qua vieni a rompermi il cazzo? dottorazzo saccente tuttologo del > cazzo! > > Da che pulpito... A te in materia di rottura non t'insegna niente nessuno: sei il disturbatore per antonomasia. Poi mi piacerebbe sapere cosa vieni a fare tu in questo n.g., che di java ne hai sentito parlare forse. Quindi l'unica possibilita' e' quella di trollare. CVD
[toc] | [prev] | [next] | [standalone]
| From | 4ndre4 <a.laforgia@gmail.com> |
|---|---|
| Date | 2015-10-06 08:50 -0700 |
| Message-ID | <e2506740-3505-4b24-aeca-791a7587fa0f@googlegroups.com> |
| In reply to | #8588 |
On Tuesday, 6 October 2015 08:09:46 UTC+1, Delta11 wrote: [...] > anche qua vieni a rompermi il cazzo? dottorazzo saccente tuttologo del > cazzo! Ma tu sei sempre stato cosi`? O c'e` stato una linea di separazione, un momento in cui sei passato al lato oscuro della forza, perdendo di netto la capacita` di scrivere cose intelligenti? Devi per forza riempire i ng di stronzate? C'e` stato anche un tempo in cui eri normale e, magari, scrivevi cose intelligenti? No, perche`, una persona con la psicologia come la tua, sarebbe stata pericolosa persino in IBM - dove notoriamente non sfuggiva niente, in fase di recruitment, e prendevano solo quelli col cazzo piu` lungo di 30 cm.
[toc] | [prev] | [standalone]
Back to top | Article view | it.comp.java
csiph-web