# Text eines JButtons vertikal schreiben



## skywest (22. Aug 2005)

Hallo,
habe folgendes Problem:
Ich möchte zunächst in einer Toolbar nur ein Button mit einem Icon darstellen. Sobald der Button angeklickt wird, soll zu dem Button auch der Text erscheinen. Dieser Text soll allerdings vertikal dargestellt werden.
Habe dazu folgendes Coding erstellt, dass aber leider nicht funktioniert. Hat jemand 'ne Idee wie ich das hinbekomme???

```
jButton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if (jButton.getText().length()>0){
						jButton.setText("");
					}else{
						jButton.setText("Preferencies");						
						Font lvButtonFont = jButton.getFont();
				        AffineTransform at = new AffineTransform();
				        at.rotate (90); 
						lvButtonFont.deriveFont(at);

					}
				}
			});
```
Übrigens: den Effekt den ich erreichen möchte kann man sich etwa bei amarok anschauen, wenn man auf eines der Buttons in der Toolbar klickt.
Bin für jede Idee dankbar
Ciao, skywest


----------



## Sky (22. Aug 2005)

1.) Deine Drehung entspricht nicht 90 Grad
2.) Die Zuweisung des erstellten Font's fehlt.


```
...        
} else {
  jButton.setText( "Preferencies" );
  Font lvButtonFont = jButton.getFont();
  AffineTransform at = new AffineTransform();

  // sky: um 90 Grad drehen.  "at.rotate( 1.57d )" würde in die andere Richtung drehen. 
  at.rotate( -1.57d );
  // sky: Den Font auch wieder zuweisen.
  jButton.setFont(lvButtonFont.deriveFont( at )); 
}
...
```


----------



## skywest (22. Aug 2005)

Hallo sky,
das funktioniert ja fast. Allerdings ist von meinem Text nur der erste Buchstabe zu erahnen. Der Rest wird abgeschnitten. Was muss ich anpassen, damit der gesamte Text sichtbar ist???
Ciao, skywest

[/img]


----------



## Sky (22. Aug 2005)

ist der Button zu kleiner, oder was?


----------



## skywest (22. Aug 2005)

Hallo,
der Button scheint zu klein zu sein. Ein Versuch mittels setPreferredSize den Button zu vergrößern und damit den Text darzustellen hat nicht weitergeholfen. Und nun? 'Ne Idee?
Ciao, skywest


----------



## Guest (24. Aug 2005)

Kann mir hier noch jemand weiterhelfen?
Ciao, skywest


----------

