Avatar billede nutten Nybegynder
21. juni 2001 - 21:26 Der er 8 kommentarer og
1 løsning

Kolonnetitler i tabeller

Hvordan får man kolonnetitler på sine tabeller?

Jeg fandt et eksempel udsnit her:

Object[][] data = {
                  {\"Mary\", \"Campione\",
                  \"Snowboarding\", new Integer (5),
                    new Boolean(false)},
                  {\"Alison\", \"Huml\",
                  \"Rowing\", new Integer(3),
                    new Boolean(true)},
                  {\"Kathy\", \"Walrath\",
                  \"Chasing toddlers\",
                    new Integer(2),new
                    Boolean(false)},
                  {\"Mark\", \"Andrews\",
                  \"Speed reading\", new Integer(20),
                    new Boolean(true)},
                  {\"Angela\", \"Lih\",
                  \"Teaching high school\",
                    new Integer(4),
                    new Boolean(false)}
                  };

String[] columnNames = {\"First Name\",
                        \"Last Name\",
                        \"Sport\",
                        \"# of Years\",
                        \"Vegetarian\"};

final JTable table = new JTable(data, columnNames);

Jeg har prøvet nøjagtig det samme, men uden held. Overskrifterne vil ikke komme frem!?

Hvad glemmer jeg eller gør forkert?????
Avatar billede logical Nybegynder
21. juni 2001 - 21:46 #1
Når du adder din komponent, skal du lægge en JScrollPane omkring. Default Table header bliver placeret i en JScrollPanes header (med mindre man selv laver noget),

erstat en linie

f.getContentPane().add(table);

med

f.getContentPane().add(new JScrollPane(table));

Og så skulle den være der.
Avatar billede nutten Nybegynder
21. juni 2001 - 22:20 #2
Det virkede perfekt, men hvis det er iorden har jeg en lille ting mere?

Min baggrundsfarve på selve framen forsvinder, selvom jeg definerer den.

Hvordan kan det være?
Avatar billede logical Nybegynder
22. juni 2001 - 06:17 #3
Du siger sikkert:

f.setBackground(Color.cyan);

En frame består af mange komponenter, hvoraf den der vises i midten er contentpane, lav det derfor om til:

f.getContentPane().setBackground(Color.cyan);
Avatar billede nutten Nybegynder
22. juni 2001 - 11:10 #4
Er det det samme som :

Container content = getContentPane();
content.setBackground(new Color (255,255,255));

For så virker det ikke :(
Avatar billede logical Nybegynder
22. juni 2001 - 18:18 #5
Pil dine komponenter af en af gangen, og se om du har farven, når du f.eks. ingen komponenter har (Det tror jeg nu nok). Derefter fyld komponenter på, indtil du får problemet, og så kan du evt. spørge videre derfra. Typisk vil du nok opdage, at følgende kan være en fordel:

JScrollPane jsp = new JScrollPane(table);
jsp.setBackground(table.getBackground());
// eller
// jsp.getViewPort().setBackground(table.getBackground());
Avatar billede nutten Nybegynder
22. juni 2001 - 23:41 #6
Hvis du forestiller dig en frame opdelt i nord,center og syd.

Nord skal være tabellen, Center skal være en tekst og syd er knapper.

Når jeg tilføjer kolonnetitler som du tidligere har foreslået forsvinder baggrundsfarven og teksten i \"Center\" ???

Hvis jeg ikke tilføjer kolonnetitler er der ingen problemer ???

Ville det hjælpe hvis jeg smed noget kode?
Avatar billede logical Nybegynder
23. juni 2001 - 09:00 #7
prøv :-)
Avatar billede logical Nybegynder
23. juni 2001 - 10:10 #8
Det her virker ellers:

final JTable table = new JTable(data, columnNames);

JFrame f = new JFrame(\"Table demo\");
f.addWindowListener(new dk.logical.gui.CloseAdapter());
f.setSize(300,300);

JScrollPane jsp = new JScrollPane(table);
f.getContentPane().add(jsp , BorderLayout.NORTH);

JPanel p = new JPanel();
p.setOpaque(false);
f.getContentPane().add(p, BorderLayout.CENTER);

p = new JPanel();
p.add(new JButton(\"Ok\"));
p.setOpaque(false);
f.getContentPane().add(p, BorderLayout.SOUTH);

f.getContentPane().setBackground(Color.cyan);
f.setVisible(true);
Avatar billede nutten Nybegynder
23. juni 2001 - 11:52 #9
Sådan, nu virker det :) Tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester