Hey proggers!
Ik ben even bezig in Java en daarin moet ik een overzicht kunnen afdrukken (printen, met een printer dus). Het printen gaat prima, ik heb de JTable omgezet naar een graphic zodat deze met paincomponent getekend kan worden en afgedrukt kan worden! Maar nu wil ik de width van een kolom aanpassen en dat werkt niet :-X
Dit is de code:
Begrijpt iemand waarom dit niet werkt? Weet ook iemand waarom de header van de JTable niet wordt afgedrukt?
Ik ben even bezig in Java en daarin moet ik een overzicht kunnen afdrukken (printen, met een printer dus). Het printen gaat prima, ik heb de JTable omgezet naar een graphic zodat deze met paincomponent getekend kan worden en afgedrukt kan worden! Maar nu wil ik de width van een kolom aanpassen en dat werkt niet :-X
Dit is de code:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
| static void drawPage(Graphics2D g2) { JPanelKlasse p = new JPanelKlasse(); String[] kolomNamen = { "Nr", "Student", "Opl. fase", "Handtekening", "Resultaat"}; // Kolomnamen instellen, bepaald ook het aantal kolommen int[] afmetingen = { 100, 200, 200, 200, 200}; // Afmetingen van de kolommen instellen Table tabel = new Table(new TableModel(kolomNamen), afmetingen); // Stop een nieuwe Table in een var tabel.setSize(300, 300); tabel.setLocation(100, 100); Vector blaat = new Vector(); Blaatje object = new Blaatje("Hallo", "Hallo1"); blaat.add(object); tabel.addRij(blaat); Object[][] data = { {"1", "Jan Smit", "Snowboarding", new Integer(5), new Boolean(false)}, {"2", "Laura Bok", "Roeien", new Integer(3), new Boolean(true)}, {"3", "Leo vd Ploeg", "Naaien", new Integer(2), new Boolean(false)}, {"4", "Sjakie Boon", "Volleybal", new Integer(20), new Boolean(true)}, {"5", "Bart Vos", "Pool", new Integer(10), new Boolean(false)} }; String[] kolomkoppen = {"1", "2", "3", "4", "5"}; final JTable table = new JTable(data, kolomkoppen); table.setSize(600, 300); // Disable auto resizing table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); // Set the first visible column to 100 pixels wide int vColIndex = 1; TableColumn col = table.getColumnModel().getColumn(vColIndex); int width = 300; col.setPreferredWidth(width); BufferedImage bi = new BufferedImage(table.getWidth(), table.getHeight(), BufferedImage.TYPE_INT_RGB); Graphics2D g2D = (Graphics2D) bi.getGraphics(); table.paint(g2D); g2.drawImage(bi, 75, 180, 500, 300, p); } |
Begrijpt iemand waarom dit niet werkt? Weet ook iemand waarom de header van de JTable niet wordt afgedrukt?