# JToolBar Button größe



## Bastian (13. Nov 2005)

Hallo zusammen,
wie lässt sich die größe der Buttons in einem JToolBar ändern?
Ich will den großen abstand zwischen den Buttons verkleinern.

Bild:







Quellcode meiner TollBar:

```
import javax.swing.*;
import java.awt.event.*;
public class ToolBar extends JToolBar{

    JButton Neu,Oeffnen,Speichern,Drucken,Suchen,Markieren;
    JTextArea eingabe;
    JFrame frame;
    SaveFile save = new SaveFile();
    OpenFile open = new OpenFile();
    NewFile  newFile = new NewFile();

    public ToolBar(JFrame frame1) { //i= anzahl von JLabeln in der Statusleister,

        super("Symbolleiste");
        
        Neu = new JButton();
        Neu.setToolTipText("Neu");
        Neu.setIcon(new ImageIcon(getClass().getResource("new.png")));
        Neu.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
             newFile.newFile(eingabe,frame);
          }
      });

        Oeffnen = new JButton();
        Oeffnen.setSize(5,5);
        Oeffnen.setToolTipText("Datei öffnen");
        Oeffnen.setIcon(new ImageIcon(getClass().getResource("open.png")));
        Oeffnen.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
             open.openFile(eingabe,frame);
          }
      });
      
        Speichern = new JButton();
        Speichern.setToolTipText("Datei speichern");
        Speichern.setIcon(new ImageIcon(getClass().getResource("save.png")));
        Speichern.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
             save.saveFile(eingabe,frame);
          }
      });
      
        Markieren = new JButton();
        Markieren.setToolTipText("alles markieren");
        Markieren.setIcon(new ImageIcon(getClass().getResource("selectall.png")));
        Markieren.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
             eingabe.requestFocus();
             eingabe.selectAll();
          }
      });
      
      this.setFloatable(true);
      //this.setBorder(new javax.swing.border.EtchedBorder());
      this.setRollover(true);
      this.add(Neu);
      //this.addSeparator();
      this.add(Oeffnen);
      this.add(Speichern);
      this.add(Markieren);
      SwingUtilities.updateComponentTreeUI(this);

    }

    public void setProps(JFrame frame,JTextArea eingabe){
      this.frame=frame;
      this.eingabe=eingabe;
    }
}
```


----------



## L-ectron-X (13. Nov 2005)

Wie breit sind denn die png-Grafiken?


----------



## Bastian (13. Nov 2005)

16*16

(ich glaube das problem liegt auch am system look and feel, wenn ich das laf der toolbar nicht update, liegen die icons näher zusammen, das problem ist, dass der user auch zur laufzeit das laf ändern kann, und somit, [wäre das laf nicht schon zum programmstart geupdatet] die buttons auf einemal weiter auseinander gehen.)


----------



## Bastian (19. Nov 2005)

*hochlupf*


----------



## Illuvatar (19. Nov 2005)

Tja also ich hab das Problem nicht ich verwende auch oft Toolbars und LaF Änderungen. Poste mal den relevanten Code (also Fenster, Toolbar und LaF - Änderung)


----------



## Bastian (19. Nov 2005)

Illuvatar hat gesagt.:
			
		

> Tja also ich hab das Problem nicht ich verwende auch oft Toolbars und LaF Änderungen. Poste mal den relevanten Code (also Fenster, Toolbar und LaF - Änderung)



code findest du hier:

http://bsc.bs.funpic.de/editor/

betroffene klassen sind:

EditorGui.java (laf: zeile 104-134)
ToolBar.java

Edit:
habe jetzt die buttongröße mit .setMaximumSize(new Dimension(30,30)); eingestellt. kann dies nicht auch dynamisch erfolgen?


----------



## Bastian (7. Dez 2005)

*push*
(...kann dies nicht auch dynamisch erfolge: soll heißen, können sich die  buttons nicht automatisch an die icon-größe anpassen?)


----------



## thE_29 (7. Dez 2005)

Also, bei mir siehts so aus:

Ich glaub das ist dieses verblöde Win XP LnF...
(hab zwar auch WinXP aber das LnF is einfach bäääää)

Große Buttons für alte/blind Leute :bae:

http://members.inode.at/j.taschek/editor.jpg



Desweiteren...


Alter habt ihr alle 120cm breite Bildschirme???


Ich hab ne Auflösung von 1400x1050 und finde den Code graußig...



Was für einen Sinn hat es wenn wann vom Anfang an 17 Zeichen nach rechts rückt??

Das hat ja nix mehr mit Überschaubarkeit zum tun...


3 Zeichen für jeden Step...

Isn in einer Methode ein Step, dann lass ich mir noch 5 Zeichen einreden aber net riesengroße steps...



Bist genauso wie die eine Kollegin von mir.. Auflösung 1024x768 (sehr schlau...) und fängt bei der 20. Stelle zum Schreiben an...

Außer doof nach rechts scrollen tut die wahrscheinlich eh nix.... (wie kann man nur so behämmert sein.. )


Und dann noch diese per GuiEditor zusammengeklickten Variablen... Jede Variable ne eigene Zeile und 1 Zeile Abstand..... totale Verwirrung!!!


----------



## Bastian (7. Dez 2005)

thE_29 hat gesagt.:
			
		

> Also, bei mir siehts so aus:
> 
> Ich glaub das ist dieses verblöde Win XP LnF...
> (hab zwar auch WinXP aber das LnF is einfach bäääää)
> ...



stop, stop, du hast die aktuelle version, dort besteht das problem nichtmehr, da alle buttons eine maximale größe zugewiesen bekommen haben (aber eben keine größe, die sich an das icon anpasst)

zur codelänge: ich habe zwar ein 16:9 bildschirm, aber wo fange ich denn erst in spalte 20 an zu schrieben?? (außerdem ist der quelltext von eclipse formatiert, womit ich, gerade in sehr kleinen klassen sehr gut zurecht komme [große klassen sind bei mir auch anders aufgeteilt])

zu den variablen: nix per guieditor zusammengeklickt, ich habe noch *nie* mit einem guieditor gearbeitet. alles noch schön eingetippt und überlegt....(alles was zu einem button gehört ist zu einem absatz formatiert)

außer genörgel hat dein post jetzt also nichts gebracht...


----------



## thE_29 (7. Dez 2005)

Dein Code fängt immer bei der Stelle 17 an!!

Das kann man sicher in Eclipse auch einstellen...

Ich seh nur den Sinn net dahinter das man 17 Zeichen für nix verschwendet.... (was ist daran überschaubar...)

Mit nem 16:9 TV ja vielleicht...



Wo ist da was gruppiert?? 

Glaub mir wenn du in RL kommst, erschlagen dich deine MA für diesen Code....

Schau dir deinen Code in 1 Jahr nochmal an und du magst in nima....

Außerdem sollten Variablen schon mal besser benamselt sein...

Bei uns hat sich das durchgesetzt, das die 1 - 2 Buchstaben (bei primitiven Datentypen nur 1) die Buchstaben von der Klasse/Typ sind...

Viel überschaubarer... Desweiteren für jede Variable ne eigene Zeile mit dem Typ?? Du könntest (wenn du schon gliederst..) alle Gruppen zusammenfügen und die Klassen nur 1mal schreiben...

Es sieht einfach net schön aus und es bläht den Code einfach nur auf...


Außer genörgel war in dem Post auch nix 

PS.: Wenn es sich erledigt hat, dann Haken setzen.. Dann brauch ich mir das nicht umsonst angucken...


----------



## Bastian (7. Dez 2005)

hat sich ja nicht erledigt, die buttons passen sich noch immer nicht automatisch an die icongröße an...


----------

