Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[JAVA] JTableHeader alignment

Pagina: 1
Acties:

  • T.I.M
  • Registratie: Juni 2001
  • Niet online
Ik heb een tabel gemaakt in java. Nu wil ik de tekst van de header van de tabel links uitlijnen.
Standaard staat dit gecentreerd. Op de een of andere manier wil dit niet goed lukken.

Ik heb nu de volgende code:

code:
1
2
3
4
5
6
7
8
9
10
11
communicationTableHeader = communicationTable.getTableHeader();
                    
                    System.err.println(communicationTableHeader.getAlignmentX());
                    System.err.println(communicationTableHeader.getAlignmentY());
                                        
communicationTableHeader.setAlignmentY(JTableHeader.LEFT_ALIGNMENT);
                    communicationTableHeader.setAlignmentX(JTableHeader.LEFT_ALIGNMENT);                    
                    communicationTableHeader.setBackground(Color.yellow); 
                                       
                    System.err.println(communicationTableHeader.getAlignmentX());
                    System.err.println(communicationTableHeader.getAlignmentY());


Naast het uitlijnen verander ik ook de achtergrondkleur. De achtergrondkleur veranderd gewoon zoals het moet. Output van de println is de eerst keer 0,5 (centraal uitlijnen) en de tweede keer 0,0 (links uitlijnen). De methode is dus goed uitgevoerd.

Op de een of andere manier worden deze wijzigingen niet doorgegeven. In de GUI blijft de tekst gecentreerd staan.

Heeft iemand een idee wat er mis gaat?? alvast bedankt!:)

  • Swaptor
  • Registratie: Mei 2003
  • Laatst online: 15-10 19:25

Swaptor

Java Apprentice

Ik gok (maar het eb het niet in de manual nagekeken) dat je
Java:
1
communicationTableHeader.setAlignmentY(JTableHeader.LEFT_ALIGNMENT);
moet veranderen in
Java:
1
communicationTableHeader.setAlignmentY(LEFT_ALIGNMENT);

Ontdek mij!
Proud NGS member
Stats-mod & forum-dude


  • T.I.M
  • Registratie: Juni 2001
  • Niet online
Swaptor schreef op donderdag 03 januari 2008 @ 15:29:
Ik gok (maar het eb het niet in de manual nagekeken) dat je
Java:
1
communicationTableHeader.setAlignmentY(JTableHeader.LEFT_ALIGNMENT);
moet veranderen in
Java:
1
communicationTableHeader.setAlignmentY(LEFT_ALIGNMENT);
ik heb het net geprobeerd... zelfde probleem nog ..

  • Swaptor
  • Registratie: Mei 2003
  • Laatst online: 15-10 19:25

Swaptor

Java Apprentice

*stom*
Je zou het natuurlijk ook gewoon op de X-as moeten zetten, nu heb je het op de verkeerde as links gezet :+

Java:
1
communicationTableHeader.setAlignmentX(JTableHeader.LEFT_ALIGNMENT);

[ Voor 28% gewijzigd door Swaptor op 03-01-2008 15:41 ]

Ontdek mij!
Proud NGS member
Stats-mod & forum-dude


  • T.I.M
  • Registratie: Juni 2001
  • Niet online
Swaptor schreef op donderdag 03 januari 2008 @ 15:40:
*stom*
Je zou het natuurlijk ook gewoon op de X-as moeten zetten, nu heb je het op de verkeerde as links gezet :+

Java:
1
communicationTableHeader.setAlignmentX(JTableHeader.LEFT_ALIGNMENT);
nee dit is het niet.. in mijn code (eerste post) heb ik zowel de X als Y as op links uitlijnen gezet.
Volgens de API is 'setAlignmentY' de horizontale as...(raar toch??! :? )
Ik heb ook alleen X en alleen Y geprobeerd links uit te lijnen... allemaal hetzelfde resultaat.

Java API
setAlignmentY
public void setAlignmentY(float alignmentY)
Sets the the horizontal alignment.

Parameters:
alignmentY - the new horizontal alignment
See Also:
getAlignmentY()

  • Kwistnix
  • Registratie: Juni 2001
  • Laatst online: 12:54
Probeer de alignment van de DefaultTableCellRenderer van de JTableHeader eens te veranderen, i.p.v. de alignment van de JTableHeader component zelf. Dat zou kunnen helpen :)

[ Voor 7% gewijzigd door Kwistnix op 03-01-2008 16:01 ]


  • T.I.M
  • Registratie: Juni 2001
  • Niet online
FallenAngel666 schreef op donderdag 03 januari 2008 @ 16:01:
Probeer de alignment van de DefaultTableCellRenderer van de JTableHeader eens te veranderen, i.p.v. de alignment van de JTableHeader component zelf. Dat zou kunnen helpen :)
Thanx... dit was idd het probleem :)

code:
1
((DefaultTableCellRenderer)myTable.getTableHeader().getDefaultRenderer()).setHorizontalAlignment(SwingConstants.LEFT);
Pagina: 1