JButtons werden nicht angezeigt

Status
Nicht offen für weitere Antworten.

mholzi

Mitglied
Hallo Zusammen,

ich möchte einen Bildbrowser programmieren, leider zeigt es mir die JButtons auf denen ich die Images ausgebe nicht an.

Ich habe bereits einmal in dieses Forum geschrieben, leider konnte ich das Problem immer noch nicht lösen,
hier der Eintrag: http://www.java-forum.org/de/viewtopic.php?t=25449


Hier mein abgeänderter Code mit JList:


Code:
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.JList.*;
import java.awt.*;
import java.awt.Image.*;
import java.io.File;
import java.io.*;

class JPGFilter implements FilenameFilter
{
  public boolean accept( File f, String s )
  {
    return s.toLowerCase().endsWith( ".jpg" );
  }
}

public class bilderbrowser extends JFrame {

    private JList list1 = new JList(getFiles());
    final Container contents = getContentPane();
    private  JPanel rechts=new JPanel();
    
    
   private String[] getFiles() {
       String pfad = System.getProperty("user.dir");
            File file = new File(pfad);
            String[] files = new String[100];
            String[] dirs = file.list();
            int a= 0;
                          for (int i=0; i<dirs.length; i++){
                              String insert = dirs[i];
                              File check = new File(dirs[i]);
                              if (check.isDirectory()){
                               files[a] = insert;
                         a++;
                           }

                   }
  return files;

   }


    public bilderbrowser() {

        super("Mein Programm");


        JPanel links=new JPanel();
       
        JPanel gesamt=new JPanel();

                 gesamt.setLayout(new BorderLayout());
                 gesamt.add(links, java.awt.BorderLayout.WEST);
                 gesamt.add(rechts, java.awt.BorderLayout.EAST);

                 links.setLayout(new BorderLayout());
                 rechts.setLayout(new BorderLayout());


    setDefaultCloseOperation( EXIT_ON_CLOSE);


             links.add(list1, java.awt.BorderLayout.WEST);

            list1.addListSelectionListener(new ListSelectionListener()
        {
           public void valueChanged(ListSelectionEvent e )
            {
              if (e.getValueIsAdjusting()){

 String ausgeVerz = list1.getSelectedValue().toString();
 new ImageAuslesen().AusImage(ausgeVerz);

              }
            }
       });


// Hier funktioniert es --------------------
       JButton bt = new JButton();
               Image image = new ImageIcon("C:/jbuilder/v10/holzi/abc.jpg").getImage();
               Image scaled2 =  image.getScaledInstance(175,250, Image.SCALE_SMOOTH);
               bt.setIcon(new ImageIcon(scaled2));
               rechts.add(bt, java.awt.BorderLayout.EAST);
               
               contents.add(gesamt);

    }



public class ImageAuslesen extends JFrame {
public void AusImage(String ausgeVerz) {
   String pfad = System.getProperty("user.dir")+"/"+ausgeVerz;
  File entries = new File(pfad);
   String[] dirs = entries.list(new JPGFilter());
           for (int i=0; i<dirs.length; i++){
               String imagepfad = new String(pfad+"/"+dirs[i]);
              
// Hier nicht ----------------------------------
 
               JButton bt = new JButton();
               Image image = new ImageIcon(imagepfad).getImage();
               Image scaled2 =  image.getScaledInstance(175,250, Image.SCALE_SMOOTH);
               bt.setIcon(new ImageIcon(scaled2));
               rechts.add(bt, java.awt.BorderLayout.EAST);

               
               System.out.println(imagepfad);
                                    }
              
                                }
}
    public static void main(String[] args) {

        bilderbrowser g = new bilderbrowser();

        g.setSize(800 , 400);
        g.show();
    }
    }

Wie Ihr sehen könnt, funktioniert die Ausgabe der Buttons inheralb der public bilderbrowser() funktion.

Dank schon mal im Voraus.

mfg
holzi
 

thE_29

Top Contributor
Ohne zu testen!

Du addest dort den Button auf rechts, aber ist dort rechts schon wo oben??
 

mholzi

Mitglied
Ja, wenn ich es dem layout richtig verstanden, dann habe ich einen JPanel "rechts" deklariert und auf diesen möchte ich die JButtons ausgeben.

Ich habe schon versucht den JPanel in der Class "ImageAuslesen" zu deklarieren, hat aber auch nicht funktioniert.

Danke
 

thE_29

Top Contributor
Hast du das Panel RECHTS raufgelegt???


Ich sehe nämlich nirgendas dass das Panel rechts wo drauf geadded wird!
 

mholzi

Mitglied
ich habe den rechten Jpanel auf den "gesamt" Jpanel geaddet

Zeile 56:

gesamt.add(rechts, java.awt.BorderLayout.EAST);
 

thE_29

Top Contributor
Lass dir mal den Pfad ausgeben in der Image Klasse

Da steht nur schwachsinn drinnen!!


Der geht dir dort nie rein wo du reinwillst!



Achja, hör auf mit +"/"


Nimm + File.separator!

Dann wird immer der richtige genommen!
 

mholzi

Mitglied
Also,

ich verwende den JBuilder,

die datei heißt: bilderbrowser.java,

der Quelltext ist der oben angeführte,

und verwendet wird das package v10


Leider bin ich ein absoluter neuling in java, also bitte um etwas gedult mit mir.
 

thE_29

Top Contributor
Das Problem ist, das auf rechts.EAST schon ein JButton oben liegt und solange du den net removst, der auch oben bleibt bzw, wieder oben hinpinselt!!

Das was du hast ist ein refreshing Problem!

Bau das mal ein

Code:
new ImageAuslesen().AusImage(ausgeVerz);
                  bilderbrowser.this.validate();
                  bilderbrowser.this.repaint();

Also nach der 1. Zeile von dir!
 

mholzi

Mitglied
Ja, jetzt sieht der pfad ordenlich aus, danke

aber ich habe versucht nur mehere button auszugeben,

Code:
JButton bt = new JButton("Button"); 
              rechts.add(bt, java.awt.BorderLayout.EAST);


funktioniert aber auch nicht,
 

thE_29

Top Contributor
Hast das obere schon gemacht??

Nach Zeile 74 gehört das (also Zeile 74 = 1 Zeile bei mir)
 

mholzi

Mitglied
danke erstmal,

ok ich bin auf der leitung gestanden, hier ist der code und es funtioniert:

Code:
 public void valueChanged(ListSelectionEvent e )
            {
              if (e.getValueIsAdjusting()){

 String ausgeVerz = list1.getSelectedValue().toString();
 new ImageAuslesen().AusImage(ausgeVerz);
 bilderbrowser.this.validate(); 
 bilderbrowser.this.repaint();  

              }
            }
       });

aber es wird nur ein Button ausgegeben, es sind aber 3 Bilder im Verzeichnis, bei der ausgabe erhalte ich auch alle 3 pfade, angezeigt wird nur der letzte.
 

mholzi

Mitglied
Wenn ich dich richtig verstanden habe, dann wir der rechte Jpanel ständig überschrieben, deshalb zeigt es mir auch nur den letzten button an?
 

mholzi

Mitglied
ja, du hattest vollkommen recht, es war ein refreshing Problem, zu dem musst ich nocht das Layout vom rechten Panel auf GridLayout umstellen, sonst wurde nur das letzte Bild angezeigt.


thE_29 nochmals vielen dank für deine Hilfe, und noch schönen abend.

mholzi
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Interface JButtons werden nicht angezeigt... Java Basics - Anfänger-Themen 5
CptK Bild beim betätigen eines JButtons Java Basics - Anfänger-Themen 6
T NullLayout und JButtons Java Basics - Anfänger-Themen 4
S Jbuttons an Koordinaten Java Basics - Anfänger-Themen 33
M JButtons verschieben Java Basics - Anfänger-Themen 13
J Problem bei Param.übergabe und dem erstellen von JButtons Java Basics - Anfänger-Themen 4
N JButtons vergleichen Java Basics - Anfänger-Themen 3
L Platz auf JButtons verändern Java Basics - Anfänger-Themen 18
D java jbuttons auf dem Hintergrundbild Java Basics - Anfänger-Themen 11
E JButtons auf JFrame nicht immer sichtbar Java Basics - Anfänger-Themen 4
Q Random Funktion JButtons Java Basics - Anfänger-Themen 6
X Probleme mit JButtons Java Basics - Anfänger-Themen 6
A JButtons dynamisch generieren mit verschiedenen actionhandlern Java Basics - Anfänger-Themen 6
D JTextField anstatt Jbuttons Java Basics - Anfänger-Themen 9
0 jButtons einen Int wert zuweisen MineSweaper Java Basics - Anfänger-Themen 3
P Wert eines JButtons Java Basics - Anfänger-Themen 6
R JButtons in eine Array legen GUI Java Basics - Anfänger-Themen 5
M JPanel, JButtons, Borderlayout Java Basics - Anfänger-Themen 8
M Dynamische JButtons mit ActionListener Java Basics - Anfänger-Themen 7
Z JButtons & Actionlistener Java Basics - Anfänger-Themen 5
W Variable anzahl an JButtons Java Basics - Anfänger-Themen 5
A Problem mit einem Array aus JButtons Java Basics - Anfänger-Themen 4
K unbestimmte Anzahl JButtons Java Basics - Anfänger-Themen 2
H JButtons anpassen Java Basics - Anfänger-Themen 3
G Text des JButtons? Java Basics - Anfänger-Themen 2
J JButtons mit GridBagLayout anordnen Java Basics - Anfänger-Themen 9
J Rand eines JButtons entfernen Java Basics - Anfänger-Themen 3
M umbennenen eines JButtons Java Basics - Anfänger-Themen 2
G JButtons mit Rand Java Basics - Anfänger-Themen 3
B Größe von JButtons Java Basics - Anfänger-Themen 2
R Buttons können sich bewegen und JButtons nicht? Java Basics - Anfänger-Themen 5
V Problem mit JButtons und JTextField Java Basics - Anfänger-Themen 5
C ActionEvent bei JButtons Java Basics - Anfänger-Themen 2
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
I Zapier -> wie werden Objekte gespeichert? Java Basics - Anfänger-Themen 10
L Datum - Monat und Jahr werden falsch angezeigt Java Basics - Anfänger-Themen 4
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
K Warum werden immer noch doppelte Zahlen ausgegeben ? Java Basics - Anfänger-Themen 13
O HashTable kann ohne Performance-Verlust in Multithreaded-Anwendungen eingesetzt werden. Java Basics - Anfänger-Themen 6
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
D Kleinste Zahl in Array finden die vorher noch errechnet werden müssen. Java Basics - Anfänger-Themen 4
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14
I aus 2 random zahlen soll nur die ungerade summe der beiden genommen werden. Java Basics - Anfänger-Themen 13
I Greenscreen, funktioniert nicht zu 100%... nicht alle Pixel werden geändert Java Basics - Anfänger-Themen 1
R Audio kann nur zum Teil gestoppt werden Java Basics - Anfänger-Themen 1
berserkerdq2 sqllite in Java, wenn ich mache select count(*) ..., erhalte ich dann nur die gezählte Anzahl oder werden auch die Tabellen ausgegeben? Java Basics - Anfänger-Themen 2
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
H Erste Schritte Nach einer Zahl n soll n Mal der String untereinander ausgegeben werden Java Basics - Anfänger-Themen 3
sserio Wieso werden nicht alle Primzahlen bis 1000 in meine Liste gepackt ? Java Basics - Anfänger-Themen 8
docmas 2DArray Werte werden nur untereinander ausgegeben Java Basics - Anfänger-Themen 1
E Umlaute und Sonderzeichen werden nach der Build Project nicht richtig angezeigt Java Basics - Anfänger-Themen 2
M Bei nach oben scrollen soll Seite aktualisiert werden (Userscript mit Javascript) Java Basics - Anfänger-Themen 10
A Wenn eine Zahl durch 7 teilbar ist, soll statt der Zahl ein ‘*‘ angezeigt werden. java? Java Basics - Anfänger-Themen 47
C Ein Algorithmus soll schneller werden Java Basics - Anfänger-Themen 24
Q Prüfen ob Zahl als Summe von Potenzen dargestellt werden kann. Java Basics - Anfänger-Themen 20
K Erste Schritte Wie schnell ist LinkedHashMap im Vergleich zur ArrayList, wenn alle Entries durchlaufen werden? Java Basics - Anfänger-Themen 47
LiFunk Exception: es dürfen nur Nummern eingelesen werden Java Basics - Anfänger-Themen 6
U Hauptklasse kann nicht gefunden werden Java Basics - Anfänger-Themen 8
OZAN86 For Schleife von 1-50 die Zahlen werden durch ein Komma getrennt Java Basics - Anfänger-Themen 10
M Wie kann ich Werte die in einer While Schleife sind weiter genutzt werden? Java Basics - Anfänger-Themen 7
Hallolu Pong-Spiel: Schläger schneller werden lassen Java Basics - Anfänger-Themen 9
C java.sql Statement kann nicht geschlossen werden Java Basics - Anfänger-Themen 9
LetsSebi Dateien werden nicht in Zip gespeichert Java Basics - Anfänger-Themen 1
D Codeblöcke, die immer wieder im Programmverlauf benötigt werden Java Basics - Anfänger-Themen 5
J Array Elemente werden nicht gefunden! Java Basics - Anfänger-Themen 6
M Warum werden character, die Leerzeichen sind, nicht korrekt verarbeitet? Java Basics - Anfänger-Themen 2
C Array-Werte werden gemischt, ohne Logik Java Basics - Anfänger-Themen 2
P Variablen HttpResponse.getBody() wird automatisch org.json Object und kann nicht zu json.simple Object gecastet werden? Java Basics - Anfänger-Themen 7
F JMenuItem Kann nicht nach einem String benannt werden... Java Basics - Anfänger-Themen 11
L Methode implementieren, Parameter die übergeben werden sind final Java Basics - Anfänger-Themen 4
Zrebna Programm kann aus der Konsole nicht gestartet werden (in der IDE läuft es) Java Basics - Anfänger-Themen 2
D Zahlen werden falsch gekürzt :? Java Basics - Anfänger-Themen 27
T Javafx ListView kann nicht gefüllt werden. Java Basics - Anfänger-Themen 6
H Eclipse kann nicht gestartet werden .... Java Basics - Anfänger-Themen 15
R Warum werden hier nur die grün und orangen Linien ausgegeben und der Rest unten nicht? Java Basics - Anfänger-Themen 5
J Eckige Klammern werden nicht erkannt Java Basics - Anfänger-Themen 1
J Klammern werden fälschlicherweise eingelesen Java Basics - Anfänger-Themen 2
Elyt Bei Monopoly werden Felder übersprungen Java Basics - Anfänger-Themen 2
Kirby.exe Hauptklasse konnte nicht gefunden werden.... Java Basics - Anfänger-Themen 27
B Nach dem kompilieren werden Bilder nicht mehr gefunden Java Basics - Anfänger-Themen 10
L Muss eine HttpURLConnection geschlossen werden? Java Basics - Anfänger-Themen 2
B Warum werden meine System.out.println's übersprungen? Java Basics - Anfänger-Themen 9
D java main methode kann nicht kompiliert werden (Erstellen eines Objekts) Java Basics - Anfänger-Themen 6
S Vergleichen ob der Integer der benutzt eingeben werden soll überhaupt ein int ist Java Basics - Anfänger-Themen 1
B Warum können super() und this() nicht gemeinsam in einem Konstruktor verwendet werden? Java Basics - Anfänger-Themen 7
V Array, Symbol kann nicht gefunden werden Java Basics - Anfänger-Themen 2
S TableView Items werden nicht angezeigt (+Verständnisfragen) Java Basics - Anfänger-Themen 15
O Apache: Log-Settings werden nicht gezogen Java Basics - Anfänger-Themen 0
H LayoutRes, Nullable und SystemServices werden in LayoutInflater nicht importiert Java Basics - Anfänger-Themen 9
A Wie erkennt die JVM welche class verwendet werden muss? Java Basics - Anfänger-Themen 3
L Input/Output AudioInputStream kann nicht erstellt werden. Java Basics - Anfänger-Themen 3
E Die Hauptklasse konnte nicht gefunden werden. Java Basics - Anfänger-Themen 12
H Hauptklasse ... konnte nicht gefunden oder geladen werden Java Basics - Anfänger-Themen 8
I Projekt als .jar Datei speichern - Bilder werden nicht mehr angezeigt Java Basics - Anfänger-Themen 4
J Strings sind gleich werden aber ungleich ausgewertet Java Basics - Anfänger-Themen 2
A Reader wohin werden Daten gespeichert? Java Basics - Anfänger-Themen 7
S Hauptklasse konnte nicht gefunden werden Java Basics - Anfänger-Themen 0
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 7
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 0

Ähnliche Java Themen

Neue Themen


Oben