Bildergallerie

Tithilion

Mitglied
Also vorweg nein ich will nicht Java-Scribt programieren ;)
Ich weiß das es einige schon in der richtung hier versucht haben, und verwiesen wurden...
aber ich versuch das wirklich in Java

So nun meine Überlegung.
Ein Borderlayout als Grundlayout, und dann halt EAST nehmen für die einzellnen kleinen bilder und Center für das große Bild, Nord als überschrift und Süd zum durchklicken...

Nun meine Frage, kann man East nochmal irgendwie unterteilen? mit wiederrum nem Layout oder so? vllt Flowlayout... und dort dann die Bilder via Buttons einfügen, müssen ja auch drückbar sein... zum hervorheben als großes in der mitte...
Aber da das ganze dingen dynamisch sein muss, hab ich halt das problem das ich nicht einfach ne feste anzahl buttons einfügen kann, die dann die bilder bekommen.

Wie würdet ihr das machen? Aber bitte einfach bin kein wirklicher pro, sonst hätte ich das schon irgendwie getüddelt ;)

LG
Tithilion


//edit: muss kein Quelltext sein, reicht wenn ihr glaubt das das so funktionieren könnte.. und oder ob ihr vllt andere elemente kennt die das ganze vereinfachen! thx
 
Zuletzt bearbeitet:
Also ich hab das jetzt mal so gemacht:
Code:
//erstellen der Buttons
for(int i=0; i<10 ;i++){
        JButton butt = new JButton("Button"+(i));
        butt.setIcon(scaledImageIcon(i));
    panelLinks.add(butt);
//meine getImage methode
public java.awt.Image getImage(int i){
    java.awt.Image img = null;
    try {  String[] xnamensliste = ordner_lesen();
   img = getToolkit().getImage( "katalog/" + xnamensliste[i] + ".jpg");
        }catch (Exception ex) {System.out.println(ex);}
    return img;
//meine scaledImageIcon methode
public ImageIcon scaledImageIcon(int i){
    int wNew = 200, hNew = 200;
    java.awt.Image img = getImage(i).getScaledInstance(wNew, hNew, java.awt.Image.SCALE_SMOOTH);

    BufferedImage outImg = new BufferedImage(wNew, hNew,BufferedImage.TYPE_INT_RGB);
    Graphics g = outImg.getGraphics();
    g.drawImage(img, 0, 0, null);
    g.dispose();
    ImageIcon scaledImage = new ImageIcon() ;
    scaledImage.setImage(outImg);
    return scaledImage;
}

Das Problem ist das alle so erzeugten Bilder schwarz geworden sind... und ich weiß nicht WO der fehler liegt... helft mir bitte. :rolleyes:

//edit: achja die getImage Methode funktioniert, daran liegts nicht ;)
 
Zuletzt bearbeitet:
Also vorweg nein ich will nicht Java-Scribt programieren ;)
Nun meine Frage, kann man East nochmal irgendwie unterteilen? mit wiederrum nem Layout oder so?
Ja, das geht. Du kannst Layouts ineinander schachteln.

Dafür einfach an der Stelle wo du ein Sublayout haben willst ein Panel einfügen, welches dann ein eigenes Layout haben kann und wo du die anderen Elemente dann einfügen kannst.

Siehe z.B. beim Javabuch: Kapitel 31 Listing 31.08.
 
Danke Evil83,
hab das jetzt so hinbekommen..;)

Doch hab ich immernoch das problem, das die bilder mit den oben genannten methoden schwarz werden ;<

Weiß keiner Rat?
 
Heflt mir doch bitte, hab noch weiter rumexperimentiert aber keine Ahnung wieso das nicht , bilder kommen an, aber halt nur "schwarze"...


:confused:
 
Habs hinbekommen, danke für die hilfe -.-

für leute die trotzdem wissen wollen wie es machbar ist:


Code:
 for(int i=1; i<6 ;i++){
        JButton butt = new JButton("Button"+(i));
        butt.setIcon(scaledImageIcon(i));
    panelLinks.add(butt);
    }

public java.awt.Image getImage(int i){
    java.awt.Image img = null;
    try {  
    File file = new File("katalog/" + xnamensliste[i] + ".jpg");
    img = ImageIO.read(file);
    }catch (Exception e) {}
    return img;
}
public ImageIcon scaledImageIcon(int i){
         BufferedImage bufimg; 
         try{bufimg = (BufferedImage)getImage(i);}
         catch(Exception e){return null;} 
         java.awt.Image scaledImg = bufimg.getScaledInstance(350, 250, java.awt.Image.SCALE_SMOOTH); 
         ImageIcon scaledIcon = new ImageIcon(scaledImg);
         return scaledIcon;
}

Ist nur leider performance fressend... muss mal sehen wie ich das noch anders hinbekomme..
 
Zurück