imageIcon-Rand wegmachen

Zettelkasten

Aktives Mitglied
Hallo! Ich habe folgenden Code:
Java:
		for(int j = 0; j < 10; j++)
		{
			imgPanel[j] = new JPanel();
			for(int i = 0; i < 15; i++)
			{
				imgIcon[i][j] = new ImageIcon(setup.getFile()+"images\\map\\img0002.gif");
				img[i][j] = new JLabel(imgIcon[i][j]);
				imgPanel[j].add(img[i][j]);
			}
			frame.add(imgPanel[j]);
		}
    	frame.setLayout(new FlowLayout());
    	frame.setBackground(Color.green);
    	pack();
		setContentPane(frame);
        setVisible(true);
Und:
Java:
	private ImageIcon[][] imgIcon = new ImageIcon[20][15];
	private JLabel[][] img = new JLabel[20][15];
	private JPanel[] imgPanel = new JPanel[15];
	
	
	private static JPanel frame = new JPanel();

Wenn ich dies ausführe, kommt folgendes Fenster raus. [BILD 02]

Doch die Abstände zweischen den Bildern stören mich, kann man die wegmachen? [siehe u.a. schwarze Bereiche in Bild 01]

Vielen Dank für eure Mühen!
 

Anhänge

  • Bild 01.jpg
    Bild 01.jpg
    10,4 KB · Aufrufe: 19
  • Bild 02.jpg
    Bild 02.jpg
    74,8 KB · Aufrufe: 26

eRaaaa

Top Contributor
So wie es ausschaut benutzt du das FlowLayout. Dort kannst du den horizontalen und vertikeln Gap einstellen, z.B. im Konstruktor -> [c] imgPanel[j] = new JPanel(new FlowLayout(FlowLayout.CENTER,0,0));[/c] oder eben [c]((FlowLayout)panel.getLayout()).setVgap(vgap)[/c] + setHgap !
 

Zettelkasten

Aktives Mitglied
Vielen Dank für die super schnelle Hilfe!

Jetzt werden die Abstände wie im Bild angezeigt.

Doch wie kann ich jetzt die Abstände unter den Bilderreihen weg???

Danke schon im Vorraus!
 

Anhänge

  • Bild 1.jpg
    Bild 1.jpg
    58 KB · Aufrufe: 19

Quaxli

Top Contributor
Lösungsvorschlag von mir: Verzichte auf die ImageIcons und mach' es selbst.

Java:
import javax.swing.*;
import java.awt.*;

public class Example extends JPanel {
	
	private static final long	serialVersionUID	= 1L;

	public static void main(String[] args) {
		new Example();
	}
	
	JFrame frame;
	Tree[][] forest;  //Viele Bäumchen geben einen Wald - ist ja klar ;-)
	
	public Example(){
		createTrees(); //Bäumchen-Array basteln
		//Panel-Größe aus Array und fixer Baumgröße errrechnen
		setPreferredSize(new Dimension(forest.length*Tree.SIZE,forest[0].length*Tree.SIZE));
		
		//Fraem erzeugen und Panel reinpacken
		frame = new JFrame("Beispiel");
		frame.setLocation(100,100);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.add(this);
		frame.pack();
		frame.setVisible(true);
	}

	
	private void createTrees(){
	
		//Array ungefähr wie aus Deinem Beispiel
		forest = new Tree[15][10];
		
		//Über das Array nudeln und Bäume erzeugen. Hier ohne Fixwerte sondern mit Variablen
		for(int x=0;x<forest.length;x++){
			for(int y=0;y<forest[x].length;y++){
				forest[x][y] = new Tree(x*Tree.SIZE,y*Tree.SIZE);
			}
		}
		
	}
	
	
	@Override
	protected void paintComponent(Graphics g) {
		super.paintComponent(g);
		
		//Über das Array nudeln und die Zeichenmethode mit dem Graphics-Objekt versorgen
		for(int x=0;x<forest.length;x++){
			for(int y=0;y<forest[x].length;y++){
				forest[x][y].drawTree(g);
			}
		}
		
	}

	
	
}

//Eigenes Objekt zum Zeichnen und Verwalten
class Tree extends Rectangle{
	
	private static final long	serialVersionUID	= 1L;
	
	public final static int SIZE = 20; // "Bäumchengröße fix
	
	public Tree(int tx, int ty){
		super(tx,ty,SIZE,SIZE); //Aufruf Konstruktor von Rectangle
	}
	
	public void drawTree(Graphics g){
		//zeichnen mit Grafikprimitiven - hier könnte auch ein Bild gemalt werden
		//Erst der Stamm
		g.setColor(Color.BLACK);
		g.fillRect(x+8,y+2,SIZE-16,SIZE-2);
		//Dann die Krone
		g.setColor(Color.GREEN);
		g.fillOval(x+2, y, width-4, height-4);

	}
	
}
 

Zettelkasten

Aktives Mitglied
Lösungsvorschlag von mir: Verzichte auf die ImageIcons und mach' es selbst.

Java:
import javax.swing.*;
import java.awt.*;

public class Example extends JPanel {
	
	private static final long	serialVersionUID	= 1L;

	public static void main(String[] args) {
		new Example();
	}
	
	JFrame frame;
	Tree[][] forest;  //Viele Bäumchen geben einen Wald - ist ja klar ;-)
	
	public Example(){
		createTrees(); //Bäumchen-Array basteln
		//Panel-Größe aus Array und fixer Baumgröße errrechnen
		setPreferredSize(new Dimension(forest.length*Tree.SIZE,forest[0].length*Tree.SIZE));
		
		//Fraem erzeugen und Panel reinpacken
		frame = new JFrame("Beispiel");
		frame.setLocation(100,100);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.add(this);
		frame.pack();
		frame.setVisible(true);
	}

	
	private void createTrees(){
	
		//Array ungefähr wie aus Deinem Beispiel
		forest = new Tree[15][10];
		
		//Über das Array nudeln und Bäume erzeugen. Hier ohne Fixwerte sondern mit Variablen
		for(int x=0;x<forest.length;x++){
			for(int y=0;y<forest[x].length;y++){
				forest[x][y] = new Tree(x*Tree.SIZE,y*Tree.SIZE);
			}
		}
		
	}
	
	
	@Override
	protected void paintComponent(Graphics g) {
		super.paintComponent(g);
		
		//Über das Array nudeln und die Zeichenmethode mit dem Graphics-Objekt versorgen
		for(int x=0;x<forest.length;x++){
			for(int y=0;y<forest[x].length;y++){
				forest[x][y].drawTree(g);
			}
		}
		
	}

	
	
}

//Eigenes Objekt zum Zeichnen und Verwalten
class Tree extends Rectangle{
	
	private static final long	serialVersionUID	= 1L;
	
	public final static int SIZE = 20; // "Bäumchengröße fix
	
	public Tree(int tx, int ty){
		super(tx,ty,SIZE,SIZE); //Aufruf Konstruktor von Rectangle
	}
	
	public void drawTree(Graphics g){
		//zeichnen mit Grafikprimitiven - hier könnte auch ein Bild gemalt werden
		//Erst der Stamm
		g.setColor(Color.BLACK);
		g.fillRect(x+8,y+2,SIZE-16,SIZE-2);
		//Dann die Krone
		g.setColor(Color.GREEN);
		g.fillOval(x+2, y, width-4, height-4);

	}
	
}
Ja, jetzt wird es richtig angezeigt. Nur das Problem ist, das es nicht um den "Baum" geht. Der Baum soll durch jedes beliebige Bild ersetzt werden. Auch die Grafiken auf den Panel sollen verschieden sein (So das es eine kleine Welt wird ;)) Das Programm soll die Grafiken auch einfach verändern. Das geht mit der Tree-Methode nicht so gut, aber trotzdem vielen Dank!

Marco13 hat gesagt.:
Rumgeraten: setBorder(null) auf dem JLabel? Mal ausprobieren...
Das funktioniert leider nicht, trotzdem Danke!

Ich habe jetzt aber eine andere Methode gefunden:
Code:
frame.setLayout(new FlowLayout(FlowLayout.CENTER,0,0));
!! Jetzt sind alle Abstände weg! :applaus:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B ImageIcon auf JPanel austauschen AWT, Swing, JavaFX & SWT 3
C Swing ImageIcon erstellen, skalieren und verwenden AWT, Swing, JavaFX & SWT 3
N imageIcon zeigt kein Bild an AWT, Swing, JavaFX & SWT 5
P Swing Mehrere JLabels mit ImageIcon in JPanel lesen AWT, Swing, JavaFX & SWT 1
F JLabel mit ImageIcon per Button bewegen AWT, Swing, JavaFX & SWT 4
CptK Swing Button: ImageIcon unter den Text AWT, Swing, JavaFX & SWT 4
cool_brivk24 Swing ImageIcon lädt kein Bild AWT, Swing, JavaFX & SWT 12
P Kein Bild wird angezeigt bei ImageIcon AWT, Swing, JavaFX & SWT 16
S Bild mit ImageIcon auf GUI verkleinern AWT, Swing, JavaFX & SWT 3
K Swing JTable mit ImageIcon und Text in einer Zelle AWT, Swing, JavaFX & SWT 1
L ImageIcon auf JPanel wird nicht angezeigt(keiner Fehlermeldung) AWT, Swing, JavaFX & SWT 11
stylegangsta JButton Fehelr javax.swing.ImageIcon.<init>(Unknown Source) AWT, Swing, JavaFX & SWT 24
L JButton mit ImageIcon/Fehlermeldung AWT, Swing, JavaFX & SWT 1
Tausendsassa ImageIcon?! Hilfe! AWT, Swing, JavaFX & SWT 10
S JLabel mit ImageIcon, komischer Rahmen? AWT, Swing, JavaFX & SWT 2
O ImageIcon lädt nicht AWT, Swing, JavaFX & SWT 2
kaoZ Swing JToolBar, ImageIcon werden teilweise verdeckt AWT, Swing, JavaFX & SWT 0
R ImageIcon - Über Socket AWT, Swing, JavaFX & SWT 1
P ImageIcon lade schlägt fehl AWT, Swing, JavaFX & SWT 5
B Repaint auf JFrame, JLabel und ImageIcon AWT, Swing, JavaFX & SWT 4
S JLabel zeigt ImageIcon nicht AWT, Swing, JavaFX & SWT 13
B ImageIcon - Probleme mit dem Dateipfad AWT, Swing, JavaFX & SWT 5
C Swing ImageIcon mit Bild aus Temp-Verzeichniss füllen AWT, Swing, JavaFX & SWT 15
P ImageIcon auf Rectangle AWT, Swing, JavaFX & SWT 3
C ImageIcon eines Labels auf einem Panel in neuem Fenster anzeigen AWT, Swing, JavaFX & SWT 2
A Swing ImageIcon hover AWT, Swing, JavaFX & SWT 9
M ImageIcon Bild wird beim verkleinern des Fensters nicht verkleinert AWT, Swing, JavaFX & SWT 3
B Swing ImageIcon Resizing AWT, Swing, JavaFX & SWT 15
S ImageIcon von Label entfernen AWT, Swing, JavaFX & SWT 9
B Warten bis neues ImageIcon zugewiesen ist AWT, Swing, JavaFX & SWT 3
S Abspeichern aus einem ImageIcon ins korrekte Format AWT, Swing, JavaFX & SWT 2
J ImageIcon: ZipException bei ungültiger PNG-Datei AWT, Swing, JavaFX & SWT 2
S ImageIcon Grösse anpassen AWT, Swing, JavaFX & SWT 2
J Geladene Grafik in ImageIcon auf Panel fest positionern. AWT, Swing, JavaFX & SWT 8
badfish Swing ImageIcon auf JLabel, Fenster Maximieren verbieten und Icon oben links austauschen? AWT, Swing, JavaFX & SWT 5
B Problem mit imageIO und ImageIcon AWT, Swing, JavaFX & SWT 5
M Swing ImageIcon über JFileChooser einbinden AWT, Swing, JavaFX & SWT 4
C Swing JComboBox - Problem bei Darstellen von ImageIcon AWT, Swing, JavaFX & SWT 4
G ImageIcon viel zu groß AWT, Swing, JavaFX & SWT 2
G IMageIcon Bildgröße ändern AWT, Swing, JavaFX & SWT 7
isowiz Leeres ImageIcon einer bes timmten Größe erzeugen AWT, Swing, JavaFX & SWT 2
W ImageIcon im JLabel mit autosize? AWT, Swing, JavaFX & SWT 3
B ImageIcon JFrame AWT, Swing, JavaFX & SWT 3
M ImageIcon auf AbstractButton links-/rechtbündig AWT, Swing, JavaFX & SWT 2
D jButton mit ImageIcon & MouseListener AWT, Swing, JavaFX & SWT 5
M ImageIcon in JLabel verkleinern AWT, Swing, JavaFX & SWT 8
S n-e-w JLabel(n-e-w ImageIcon(i)) funkt. nicht im JScrollPane AWT, Swing, JavaFX & SWT 2
M Problem, an ImageIcon in JPanels zu kommen. AWT, Swing, JavaFX & SWT 2
J Bildfilterung und Ausgabe in ein ImageIcon AWT, Swing, JavaFX & SWT 2
X ImageIcon für JButton AWT, Swing, JavaFX & SWT 4
X JButton "effect" für ImageIcon AWT, Swing, JavaFX & SWT 6
F ImageIcon -> BufferedImage AWT, Swing, JavaFX & SWT 2
T ImageIcon als Seperator im Jmenu AWT, Swing, JavaFX & SWT 8
G JLabel und ImageIcon AWT, Swing, JavaFX & SWT 16
padde479 ImageIcon laden AWT, Swing, JavaFX & SWT 6
L Anzeigen von fotos: ImageIcon oder BufferedImage + paint() ? AWT, Swing, JavaFX & SWT 5
J ImageIcon, Image - 100% CPU Auslastung . AWT, Swing, JavaFX & SWT 3
B imageicon relativer Pfad AWT, Swing, JavaFX & SWT 5
F ImageIcon Größe ändern AWT, Swing, JavaFX & SWT 29
M ImageIcon / .paintIcon() AWT, Swing, JavaFX & SWT 2
M Problem mit ImageIcon in einer JTable AWT, Swing, JavaFX & SWT 2
D JButton einen neuen ImageIcon setzen? AWT, Swing, JavaFX & SWT 2
R resize ImageIcon AWT, Swing, JavaFX & SWT 7
B Problem mit ImageIcon/Swing in Linux AWT, Swing, JavaFX & SWT 6
K ImageIcon fehler ? AWT, Swing, JavaFX & SWT 4
M ImageIcon laden? AWT, Swing, JavaFX & SWT 2
W WindowBuilder / Design-Vorschau schneidet den Rand ab AWT, Swing, JavaFX & SWT 0
M JavaFX TableView & CSS, Rand um Tabellenkopf entfernen AWT, Swing, JavaFX & SWT 3
P LayoutManager GroupLayout an dem rechten Rand ausrichten AWT, Swing, JavaFX & SWT 2
T 2D-Grafik gezeichnetes Bild verschieben - rand bleibt sichtbar AWT, Swing, JavaFX & SWT 2
R TitledBorder: Beschriftung am senkrechten Rand AWT, Swing, JavaFX & SWT 3
J 2D-Grafik Rechteck mit dickerem Rand zeichnen AWT, Swing, JavaFX & SWT 8
A JButton Rand AWT, Swing, JavaFX & SWT 6
E Swing JPanels durch ziehen am Rand vergrößern/verkleinern?! AWT, Swing, JavaFX & SWT 2
S JPanel geht über Rand hinaus AWT, Swing, JavaFX & SWT 7
F Woher kommt der Rand? AWT, Swing, JavaFX & SWT 4
H fwststellen, ob sich Mouse auf dem Rand befindet AWT, Swing, JavaFX & SWT 3
L JButton - Labelposition im Verhältnis zum Rand AWT, Swing, JavaFX & SWT 12
A JButton Abstand Text - Rand AWT, Swing, JavaFX & SWT 4
G Gap zwischen JButton-Rand und JButton-Icon verändern AWT, Swing, JavaFX & SWT 2
W Rand um Buttons AWT, Swing, JavaFX & SWT 3
G Composite - Rand wird nicht richtig dargestellt AWT, Swing, JavaFX & SWT 3
G SWT Button mit Image und ohne Rand unter Linux? AWT, Swing, JavaFX & SWT 7
G Buttons ohne Rand? AWT, Swing, JavaFX & SWT 3
B JTextArea ohne internen Rand AWT, Swing, JavaFX & SWT 4
O JButton Rand um Schrift unsichtbar machen AWT, Swing, JavaFX & SWT 2
S TabbedPane ohne Rand AWT, Swing, JavaFX & SWT 4
S java ohne Rand AWT, Swing, JavaFX & SWT 4
C Frame ohne rand? AWT, Swing, JavaFX & SWT 2
S BorderFactory - nicht den ganzen Rand anzeigen AWT, Swing, JavaFX & SWT 2
O haben panels von anfang an einen dummen rand? AWT, Swing, JavaFX & SWT 19
S Setzen der richtigen Größe einer JTextPane ohne Rand AWT, Swing, JavaFX & SWT 4
S Applet mit AWT: Abstand zum Rand ändern AWT, Swing, JavaFX & SWT 5
R Ausrichtung am oberen Rand beim Gridbag-Layout AWT, Swing, JavaFX & SWT 2
J Jtable hat zuvuel Rand AWT, Swing, JavaFX & SWT 6
V AWT: zwei Listen nebeneinander ohne Rand dazwischen AWT, Swing, JavaFX & SWT 7
B linken rand einer JList-zelle festlegen AWT, Swing, JavaFX & SWT 4
B Fenstet am Desktop-Rand andocken? AWT, Swing, JavaFX & SWT 10

Ähnliche Java Themen

Neue Themen


Oben