JTable drukowanie

0

JTable ma metodę print która umożliwia bezpośrednie drukowanie tabeli. Chciałbym ją wykorzystać ale...

  1. Dlaczego tabela musi być najpierw dodana do jakiegoś Dialogu/Frame, aby coś się wydrukowało?

Nie zadziała - wydruk to pusta ramka bez tabeli w środku.

JTable table = new Table(model)
table.print(JTable.PrintMode.FIT_WIDTH, null, null);

Działa - jest tabela w środku ramki.

JTable table = new Table(model)
JDialog dialog = new JDialog();
dialog.setContentPane(new JScrollPane(table));
dialog.pack();
table.print(JTable.PrintMode.FIT_WIDTH, null, null);
  1. Da się jakość dodać nagłówek tylko na pierwszą/ostatnią/n-ta stronie?
table.print(
 JTable.PrintMode.FIT_WIDTH,
 new MessageFormat("Tekst tylko na pierwsza strone").
 new MesssgeFormat("a ten np. tylko na ostatnia"));
  1. Da sie jakoś zmienić czcionkę w nagłówku/stopce?
table.print(
 JTable.PrintMode.FIT_WIDTH,
 new MessageFormat("Zbyt wielka czcionka"),
 new MessageFormat("To samo tutaj"));
  1. Da się jakoś wstawić nagłówek/stopkę w postaci wielu linii?
table.print(
 JTable.PrintMode.FIT_WIDTH,
 new MessageFormat("linia1\nlinia2\nLinia3"), // na wydruku: Linia1Linia2Linia3
 null);
  1. Można skądś pobrać ilość stron wydruku?
table.print(
 JTable.PrintMode.FIT_WIDTH,
 null
 new MessageFormat("Strona numer: {0}"); // a ilosc stron?

Jak ktoś zna odpowiedz na choć jedno pytanko będę bardzo wdzięczny za pomoc.

0

mam ten sam problem. żeby sie drukowało nie trzeba pakować do jframe - wystarczy wywołać setSize i już drukuje zawartość:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1