Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.java > #8575 > unrolled thread

importi giustificati a destra

Started byGulp® <gulp@hotmail.it>
First post2015-10-05 17:37 +0200
Last post2015-10-06 08:50 -0700
Articles 16 — 4 participants

Back to article view | Back to it.comp.java


Contents

  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

#8575 — importi giustificati a destra

FromGulp® <gulp@hotmail.it>
Date2015-10-05 17:37 +0200
Subjectimporti 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]


#8576

From4ndre4 <a.laforgia@gmail.com>
Date2015-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]


#8577

FromGulp® <gulp@hotmail.it>
Date2015-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]


#8578

From"Dr.UgoGagliardelli" <do.not.spam@me.please>
Date2015-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]


#8579

FromGulp® <gulp@hotmail.it>
Date2015-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]


#8580

From4ndre4 <a.laforgia@gmail.com>
Date2015-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]


#8584

FromGulp® <gulp@hotmail.it>
Date2015-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]


#8581

From"Dr.UgoGagliardelli" <do.not.spam@me.please>
Date2015-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]


#8582

FromGulp® <gulp@hotmail.it>
Date2015-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]


#8586

From"Dr.UgoGagliardelli" <do.not.spam@me.please>
Date2015-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]


#8583

FromGulp® <gulp@hotmail.it>
Date2015-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]


#8585

FromDelta11 <delta11NSP@email.it>
Date2015-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]


#8587

From"Dr.UgoGagliardelli" <do.not.spam@me.please>
Date2015-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]


#8588

FromDelta11 <delta11NSP@email.it>
Date2015-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]


#8589

From"Dr.UgoGagliardelli" <do.not.spam@me.please>
Date2015-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]


#8590

From4ndre4 <a.laforgia@gmail.com>
Date2015-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