/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Udskrift er spejlvendt.
Fra : Gruppe5DMUSønderborg


Dato : 24-05-02 12:01

Jeg vil lige skrive min GUI ud, men den bliver udskrevet spejlvendt og med
en meget grov skrifttype.

Jeg lægger lige lidt kode ved - er der nogen der har nok styr på udskrifter
i java til at gennemskue problemmet
-----------
import javax.swing.*;
import java.awt.*;
import java.text.*;
import java.awt.event.*;
import java.awt.print.*;

public class OrdreGUI extends JFrame //implements ActionListener
{
private Container c;
private JPanel kunde, bottom;
private Kunde k;
private Ordre o;
private PakkeListeTableModel pakkeTM;
private JButton udskriv;
private JTable pakkeListe;

public OrdreGUI(Kunde k, Ordre o)
{
super("Pakkeliste");
this.k = k;
this.o = o;

uiInit();
}

public void uiInit()
{
c = getContentPane();
c.setLayout(new BorderLayout());
kunde = new JPanel();
kunde.setLayout(new GridLayout(4,1));
kunde.add(new JLabel("Navn: "+k.getFornavn()+" "+k.getEfternavn()));
kunde.add(new JLabel("Adresse: "+k.getAdresse()));
kunde.add(new JLabel("Postnr/By: "+k.getPostnr()+" "+k.getBy()));
kunde.add(new JLabel("Ordrenummer: "+o.getOrdreID()));
udskriv = new JButton("Udskriv");

udskriv.addActionListener(new java.awt.event.ActionListener()
{
public void
actionPerformed(ActionEvent e)
{
System.out.print("Udskriv
trykket");
try
{
performPrint();
}
catch( Exception PrintException )
{
}

}
});

pakkeTM = new PakkeListeTableModel( o );
pakkeListe = new JTable(pakkeTM);
bottom = new JPanel(new GridLayout(2,1));
DecimalFormat dfm = new DecimalFormat("0.##");
bottom.add(new JLabel("Pris i alt: "+dfm.format(o.getTotal())+"
kr."));
bottom.add(udskriv);
c.add(kunde, BorderLayout.NORTH);
c.add(new JScrollPane(pakkeListe), BorderLayout.CENTER);
c.add(bottom, BorderLayout.SOUTH);
this.setSize(400,400);
this.show();
}

protected void performPrint()// udføre de fem Steps til udprintning
{
//Step 1 :nyt printjob
PrinterJob job = PrinterJob.getPrinterJob();
//Step 2: formatere siden der skal udskrives
PageFormat pageFormat = job.pageDialog(new PageFormat());
//Step 3: viser udprintnings vinduet fra printerdriveren
job.printDialog();
// Step 4: kalder MyPrintable
job.setPrintable(OrdreGUI.this);
try
{
// Step 5: udskriver...
job.print();
}
catch( PrinterException pe )
{
};
}


class MyPrintable implements Printable
{

public int print(Graphics g, PageFormat pf, int pi) throws
PrinterException {
if (pi >= 1) {
return Printable.NO_SUCH_PAGE;
}

System.out.println("mybutton print");
Graphics2D g2 = (Graphics2D) g;
g2.translate(pf.getImageableX(), pf.getImageableY());
Font f = new Font("Monospaced",Font.PLAIN,12);
System.out.println (f);
g2.setFont (f);
paint (g2);
return Printable.PAGE_EXISTS;
}
}
}




 
 
Dennis T. Holm (24-05-2002)
Kommentar
Fra : Dennis T. Holm


Dato : 24-05-02 17:29


"Gruppe5DMUSønderborg" <d00bkv@uv.sdrborges.dk> wrote in message
news:acl6hp$j3q$1@news.net.uni-c.dk...
> Jeg vil lige skrive min GUI ud, men den bliver udskrevet spejlvendt og med
> en meget grov skrifttype.
>
> Jeg lægger lige lidt kode ved - er der nogen der har nok styr på
udskrifter
> i java til at gennemskue problemmet
> -----------
> import javax.swing.*;
> import java.awt.*;
> import java.text.*;
> import java.awt.event.*;
> import java.awt.print.*;
>
> public class OrdreGUI extends JFrame //implements ActionListener
> {
> private Container c;
> private JPanel kunde, bottom;
> private Kunde k;
> private Ordre o;
> private PakkeListeTableModel pakkeTM;
> private JButton udskriv;
> private JTable pakkeListe;
>
> public OrdreGUI(Kunde k, Ordre o)
> {
> super("Pakkeliste");
> this.k = k;
> this.o = o;
>
> uiInit();
> }
>
> public void uiInit()
> {
> c = getContentPane();
> c.setLayout(new BorderLayout());
> kunde = new JPanel();
> kunde.setLayout(new GridLayout(4,1));
> kunde.add(new JLabel("Navn: "+k.getFornavn()+"
"+k.getEfternavn()));
> kunde.add(new JLabel("Adresse: "+k.getAdresse()));
> kunde.add(new JLabel("Postnr/By: "+k.getPostnr()+" "+k.getBy()));
> kunde.add(new JLabel("Ordrenummer: "+o.getOrdreID()));
> udskriv = new JButton("Udskriv");
>
> udskriv.addActionListener(new java.awt.event.ActionListener()
> {
> public void
> actionPerformed(ActionEvent e)
> {
> System.out.print("Udskriv
> trykket");
> try
> {
> performPrint();
> }
> catch( Exception
PrintException )
> {
> }
>
> }
> });
>
> pakkeTM = new PakkeListeTableModel( o );
> pakkeListe = new JTable(pakkeTM);
> bottom = new JPanel(new GridLayout(2,1));
> DecimalFormat dfm = new DecimalFormat("0.##");
> bottom.add(new JLabel("Pris i alt: "+dfm.format(o.getTotal())+"
> kr."));
> bottom.add(udskriv);
> c.add(kunde, BorderLayout.NORTH);
> c.add(new JScrollPane(pakkeListe), BorderLayout.CENTER);
> c.add(bottom, BorderLayout.SOUTH);
> this.setSize(400,400);
> this.show();
> }
>
> protected void performPrint()// udføre de fem Steps til udprintning
> {
> //Step 1 :nyt printjob
> PrinterJob job = PrinterJob.getPrinterJob();
> //Step 2: formatere siden der skal udskrives
> PageFormat pageFormat = job.pageDialog(new PageFormat());
> //Step 3: viser udprintnings vinduet fra printerdriveren
> job.printDialog();
> // Step 4: kalder MyPrintable
> job.setPrintable(OrdreGUI.this);
> try
> {
> // Step 5: udskriver...
> job.print();
> }
> catch( PrinterException pe )
> {
> };
> }
>
>
> class MyPrintable implements Printable
> {
>
> public int print(Graphics g, PageFormat pf, int pi) throws
> PrinterException {
> if (pi >= 1) {
> return Printable.NO_SUCH_PAGE;
> }
>
> System.out.println("mybutton print");
> Graphics2D g2 = (Graphics2D) g;
> g2.translate(pf.getImageableX(), pf.getImageableY());
> Font f = new Font("Monospaced",Font.PLAIN,12);
> System.out.println (f);
> g2.setFont (f);
> paint (g2);
> return Printable.PAGE_EXISTS;
> }
> }
> }
>
>
>

Det er farligt at begynde at lege med java og udskrift på printer. Den
fucker simpelthen nogengang bare op fordi printeren ikke fatter det som java
programmet spytter ud...

Dermed sagt... har nogen gange selv set at noget fornuftigt kode som skulle
give en fornuftig udskrift gav noget være lort som resultat. Så måske er det
printeren, prøv evt. på en anden printer.

MVH.. Dennis T. Holm



Kresten P. Vester (25-05-2002)
Kommentar
Fra : Kresten P. Vester


Dato : 25-05-02 13:31

Jeg har også noget kode hvor den skrev det ud korrekt på den samme printer.
(Den udskriver bare kun JTable'et i stedet for)
- Jeg har ikke lige adgang til det herfra, men jeg kan prøve at poste det på
mandag.



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste