tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
585
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    _Dome_ _Dome_ ist offline Mitglied Bronze
    Registriert seit
    Jun 2006
    Beiträge
    42
    Hallo zusammen,
    ich hab schon gegoogelt und gemacht und bekomme es einfach nicht hin.

    Die Situation ist die folgende:

    In der Ebene in der sich meine jar-Datei befindet existiert ein Ordner names image und darin sind die Symbole für die Buttons.

    Code :
    1
    
    open = new JIconButton("image\\open.png");

    Unter Windows werden die Bilder auf den Buttons angezeigt, aber unter Linux (Ubuntu) seh ich "nackte" Buttons.
    Es hängt sicherlich mit der Pfadangabe zusammen, aber ich weiß nicht wie...


    Schonmal Danke
    _dome_
     

  2. #2
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Ja Windows verwendet Backslasches als Pfadtrenner, Linux Slashes.

    Daher immer File.separator verwenden:
    Code java:
    1
    2
    
    final String FILE_SEPARATOR = File.separator;
    open = new JIconButton("image"+FILE_SEPARATOR+"open.png");

    Gleiches gilt für den Zeilenumbruch (\n o.ä):
    final String LINE_SEPARATOR = System.getProperty("line.separator");
     

  3. #3
    _Dome_ _Dome_ ist offline Mitglied Bronze
    Registriert seit
    Jun 2006
    Beiträge
    42
    Ich habe es nun so gemacht:

    Code :
    1
    2
    3
    
    final String FILE_SEPARATOR = File.separator;
            neu = new JIconButton("image"+FILE_SEPARATOR+"neu.png");
            panelSymbole.add(neu);

    Allerdings ist unter Ubuntu der Button immernoch ohne Bild.
    So sollte es doch klappen oder?
     

  4. #4
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Der Ordner image ist in deinem Ausführungsverzeichnis ja?

    Was gibt denn:
    Code java:
    1
    2
    
    File f = new File("image","open.png");
    System.out.println(f.getAbsolutePath() + ": " + f.exists());
    aus?
     

  5. #5
    _Dome_ _Dome_ ist offline Mitglied Bronze
    Registriert seit
    Jun 2006
    Beiträge
    42
    Die Ausgabe ist:

    /home/dome/Adressbuch/image/open.png: true
    und trotzdem finde klappt es nicht.
     

  6. #6
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Woher kommt denn dein JIconButton?

    Ich kenne folgendes:
    Code java:
    1
    
    JButton button = new JButton(new ImageIcon(f.getAbsolutePath()));
     

  7. #7
    _Dome_ _Dome_ ist offline Mitglied Bronze
    Registriert seit
    Jun 2006
    Beiträge
    42
    Zuweisung:
    Code :
    1
    2
    
    final String FILE_SEPARATOR = File.separator;
    neu = new JIconButton("image"+FILE_SEPARATOR+"neu.png");

    Folgender Konstruktor wird benutzt:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    class JIconButton extends JButton { 
     
        public JIconButton(String file) {
            super(new ImageIcon(file));
            setContentAreaFilled(false);
            setBorderPainted(true);
            setFocusPainted(false);
        }
     
     
     
    }
     

  8. #8
    _Dome_ _Dome_ ist offline Mitglied Bronze
    Registriert seit
    Jun 2006
    Beiträge
    42
    Ich hab eine andere Möglichkeit gefunden - ich hole mir die Bilder aus der Jar-Datei aus dem Image-Ordner.

    Und so hab ich es gemacht:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
     
    neu = new JIconButton("image/neu.png");
     
    class JIconButton extends JButton 
            {
     
        public JIconButton(String file) 
            {
            super(new ImageIcon(GuiMain.class.getResource(file)));  
            setContentAreaFilled(false);
            setBorderPainted(true);
            setFocusPainted(false);
        }
     
    }

    So lädt Java die Bilder aus dem Unterverzeichnis "image" die gewünschren Bilder.
     

Ähnliche Themen

  1. relative pfadangabe
    Von FJK im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 30.10.07, 11:06
  2. relative Pfadangabe bei FileCopy()
    Von WilliamSpiderWeb im Forum VisualStudio & MFC
    Antworten: 6
    Letzter Beitrag: 12.06.07, 16:22
  3. Plugin - relative Pfadangabe
    Von illaX im Forum Java
    Antworten: 0
    Letzter Beitrag: 20.10.05, 08:32
  4. relative Pfadangabe im ImageIcon
    Von the_skywalker im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 24
    Letzter Beitrag: 10.06.05, 09:35
  5. Relative Pfadangabe führt auf c:\?!
    Von desmoloch im Forum Java
    Antworten: 0
    Letzter Beitrag: 16.08.04, 12:33