Panel mit 8 gleich großen "fenstern"

regic

Mitglied
Hallo Leute,

ich sitze hier jetzt schon seit mindestens 1ner Stunde, und schaffe es nicht folgendes zu realisieren.

Ich habe ein Panel und auf diesem sollten 8 Rechtecke gezeichnet werden, nun das sollte aber so sein dass diese gleich groß sind, und vor und nach diesem Rechteck, eine an die Größe des Rechtecks angepassten, Abstand. Das panel kann natürlich eine andere Dimension annehmen, also muss das mit der weite berechnet werden!!

Wisst ihr was ich meine?? Hoffe schon :DD


Danke im Voraus
regic
 
Zuletzt bearbeitet:

ie

Mitglied
Ich weiß zwar nicht wirklich was du meinst, aber falls es sich um Swing-Objekte handelt, die du auf dein Panel klatschen willst hört sich das nach GridLayout an wonach du suchst.
 

regic

Mitglied
nein,nein... ich meinte ein Panel das beliebig groß sein kann, und auf dem werden dann mittels Graphics g mehrere Rechtecke gezeichnet. allerdings sollten die so sein das da z.b 5 px abstand dann das rechteck und dann wieder 5 px abstand.. so sollte sich das dann auf beiden seiten ausgehen das da 5px abstand sind.

Wars jetzt besser erklärt??


//im anhang ist das was ich will, doch das sollte ehm berechnet werden, und somit immer passen egal wie groß das Panel ist //EDIT: Ok das bild stimmt nicht ganz, da der zwischenraum eigentlich doppelt so groß sein müste aber ihr wisst doch was ich meine??
 

Anhänge

  • beispiel.jpg
    beispiel.jpg
    50 KB · Aufrufe: 28
Zuletzt bearbeitet:

Volvagia

Top Contributor
?
int recWidth = (getWidth - hgaps * (rectCount + 1)) / recCount;
int recHeight = (getHeight - vgaps * (rectCount + 1)) / recCount;
 

KingOfExceptions

Bekanntes Mitglied
du teils die größe des panels durch die der anzahl der rechtecke+die ränder und schon hast du die länge....

EDIT: mist zu langsam -.-
 
Zuletzt bearbeitet:

regic

Mitglied
das ist mir schon klar, aber das funktioniert so leider nicht, es geht sich nie aus, am ende ist der abstannd immer größer, also ganz links
ich fange rechts an zu zeichnen
 

Volvagia

Top Contributor
Prüfst du Pixelgenau? Dann ist es meistens kein Wunder, bei der Division wird was übrig bleiben und einen halben Pixel kannst du nicht zeichnen. ^^
 

regic

Mitglied
ich prüfe das nur so wie es mit dem freien auge erkennpaar ist, und am ende bleibt immer viel mehr übrig als der restliche abstand
 

XHelp

Top Contributor
Bedenkst du auch, dass du zwar 8 Rechtecke hat, aber nur 7 "Abstände" hast? Oder 9, wenn du außen auch noch Platz frei lassen willst. Aber bevor mal hin und her rätselt: zeig doch mal dein Code.
 

Volvagia

Top Contributor
Bei mir funktioniert das problemlos:

Java:
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class PaintRecsExample {
	private static final int HGAPS = 5;
	private static final int VGAPS = 5;
	
	private static final int H_RECT_COUNT = 4;
	private static final int V_RECT_COUNT = 4;
	
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				buildGui();
			}
		});
	}
	private static void buildGui() {
		JFrame frame = new JFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setSize(500, 500);
		
		frame.add(new JPanel() {
			protected void paintComponent(Graphics g) {
				super.paintComponent(g);
				g.setColor(Color.RED);
				
				int recWidth = (getWidth() - HGAPS * (H_RECT_COUNT + 1)) / H_RECT_COUNT;
				int recHeight = (getHeight() - VGAPS * (V_RECT_COUNT + 1)) / V_RECT_COUNT;
								
				for(int y = 0; y < V_RECT_COUNT; y++) {
					for(int x = 0; x < H_RECT_COUNT; x++) {
						int pxX = HGAPS + (x * HGAPS + x * recWidth);
						int pxY = VGAPS + (y * VGAPS + y * recHeight);
						
						g.drawRect(pxX, pxY, recWidth, recHeight);
					}
				}
			}
		});
		
		frame.setLocationRelativeTo(null);
		frame.setVisible(true);
	}
}
 

regic

Mitglied
Java:
int width=getWidth();
	
for(int i = 0; i <8;i++){
	
   g.drawRect(5+(width/8)*i, 5,width/8-5, 600);
				
}

das sieht eigentlich richtig aus, aber nur bei meinem bildschirm(ich habe das panel auf vollbild gestellt)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
4 Swing Durch klicken auf Button Labels einem Panel hinzufügen Allgemeine Java-Themen 4
Thallius Swing Merkwürdiges Verhalten beim Panel Tausch Allgemeine Java-Themen 3
S Panel zur Dateiendarstellung wie in einem Explorer Allgemeine Java-Themen 12
P Font aus PDF extrahieren -> im Panel anzeigen Allgemeine Java-Themen 3
S TextDatei in Panel anzeigen Allgemeine Java-Themen 10
M RSS Feeder Panel Probleme mit Tabs Allgemeine Java-Themen 3
G AWT Panel wird nicht dargestellt Allgemeine Java-Themen 3
A gezeichnetes Objekt auf Panel identifizieren Allgemeine Java-Themen 5
F Panel wird nicht angezeigt Allgemeine Java-Themen 2
G von großem Panel auf ein kleines Panel mappen Allgemeine Java-Themen 6
MQue Popup- Menue- trennen von Panel und Aktion Allgemeine Java-Themen 6
P Image auf einem Panel mit null-Layout Allgemeine Java-Themen 8
H Problem beim Malen auf ein Panel Allgemeine Java-Themen 2
G Panel mit vielen Komponenten verbraucht viel Speicher Allgemeine Java-Themen 3
G Panel einer Klasse in einer anderen anzeigen Allgemeine Java-Themen 4
C Hilfe! Java Control Panel & Limewire Problem! Allgemeine Java-Themen 3
T Rechtecke usw mit Paint auf Panel zeichnen Allgemeine Java-Themen 5
J Panel-Hintergrundbild Allgemeine Java-Themen 13
M String shuffeln, Anfang und Ende aber bleiben gleich Allgemeine Java-Themen 15
P Wird double und float auf jedem Computer gleich berechnet? Allgemeine Java-Themen 10
A Datentypen Gregorian Calendar - 2 Daten sind gleich?? Allgemeine Java-Themen 3
U Set erklären dass objekte gleich sind Allgemeine Java-Themen 12
L Koordinaten des Mouselistener nicht überall gleich Allgemeine Java-Themen 13
J Suche: Tool zum Auffinden gleichnamiger Klassen (Name und Package gleich) in unteschiedlichen JARs Allgemeine Java-Themen 5
woezelmann Object nach Deserialisierung nicht mehr gleich Allgemeine Java-Themen 13
R Font der auf allen Platformen gleich aussieht? Allgemeine Java-Themen 7
A Javakonsolenfenster geht gleich wieder zu Allgemeine Java-Themen 6
M CheckBox in JTable - ich verzweifle gleich Allgemeine Java-Themen 2
J MD5-Prüfsumme von ein und demselben String nicht gleich Allgemeine Java-Themen 3
P Kompletten Textseiten in gleich lange zeilen schneiden Allgemeine Java-Themen 7
K Date: getTime immer gleich Allgemeine Java-Themen 4
S erst containsKey oder gleich get Allgemeine Java-Themen 9
D Java gleich in Maschinensprache übersetzen? Allgemeine Java-Themen 23
B Sehr großen Graph mit Verbindungen bauen und minimieren? Allgemeine Java-Themen 35
N Bin to Dez und umgekehrt mit sehr großen Zahlen Allgemeine Java-Themen 2
T Modulo-Operator versagt bei zu großen Zahlen? Allgemeine Java-Themen 14
H Gibt es einen großen Unterschied zwischen Java 6 und Java 7? Allgemeine Java-Themen 3
M Eclipse Stackoverflow beim Einlesen von großen Bilder in kd Baum Allgemeine Java-Themen 15
nrg Arbeiten mit sehr großen CSV Dateien Allgemeine Java-Themen 20
S Schnelles arbeiten mit großen CSV Dateien Allgemeine Java-Themen 4
K replaceAll bei sehr großen String Allgemeine Java-Themen 3
H2SO3- großen double in string mit e umwandeln Allgemeine Java-Themen 4
kb22 CMS mit großen Dateien (heap problem) Allgemeine Java-Themen 3
H2SO3- speichern von Daten in seeeeeehr großen Tabellen (nicht DB) Allgemeine Java-Themen 8
G Bringt es etwas System.gc() nach großen Aufgaben aufzurufen? Allgemeine Java-Themen 2
T Suche den großen Calendar Thread ! Allgemeine Java-Themen 2
U Kompilieren einer großen Datei if-else = StackOverflowError Allgemeine Java-Themen 4
G Lesen von sehr großen dateien Allgemeine Java-Themen 8
S Datenbank Abfragen mit großen Datenmengen Allgemeine Java-Themen 22
E String.replace für (sehr) großen Text Allgemeine Java-Themen 9
M String#equals(), Probleme mit großen Strings? Allgemeine Java-Themen 4
F Mehrere Bilder zu einem Großen zusammenkleben Allgemeine Java-Themen 3
R Was nehmen für Flußdiagramme und Druck von großen Grafiken Allgemeine Java-Themen 4
W JTextArea beschleunigen bei großen Texten Allgemeine Java-Themen 4
flashfactor Problem mit mehren großen Dateien Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben