1Danke
ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
460
460
EMPFEHLEN
-
26.12.10 18:04 #1
Nabend,
ich hab ein Problem mit einer selbstgebauten JComponente, die sich nicht durch ein FlowLayout anordnen lässt.
Folgendes steht im Constructor von nem JFrame:
ListItem ist hierbei meine JComponente.Code :1 2 3 4 5 6
FlowLayout experimentLayout = new FlowLayout(FlowLayout.CENTER); this.setLayout(experimentLayout); b=new ListItem(); this.add(b); a=new ListItem(); this.add(a);
Die sieht von innen bisher aus:
Wie folgt sieht dann das Fenster aus:Code :1 2 3 4 5 6 7 8 9 10 11
public class ListItem extends JComponent { ListItem(){ } private static final long serialVersionUID = 1964597614409177719L; public void paint(Graphics g){ Color bg=new Color(0,0,0,128); g.setColor(bg); g.fillRoundRect(0,0,120,120,40,40); } }

Demnach beachtet der LayoutManager die horizontale Lücke von standartmäßig 5px, kann aber anscheinend, nicht die Breite der Componenten ermitteln und legt sie somit übereinander.
Ich hab bereits probiert, indem ich die Funktionen:- getSize()
- computeVisibleRect(Rectangle visibleRect)
- getHeight()
- getWidth()
- getBounds()
Wo liegt der Fehler?MFG Scipio
Ein Danke für hilfreiche Antworten ist gern gesehen.
-
26.12.10 19:36 #2
Eigentlich funktioniers richtig, bei mir jedenfalls, wenn man die PreferedSize setzt, damit der LayoutManager auch weiß, womit er arbeiten muss. Das kannste z.B. im Konstruktor machen:
Sollte jetzt auch bei dir normal laufen.Code java:1 2 3
public ListItem() { setPreferredSize(new Dimension(120, 120)); }
Man sagt, das Schwert eines Samurai sei seine Seele ...
Mit den Beiträgen ist es wie mit Schwertern: Je besser die Rohstoffe sind und je öfter man diese bearbeitet, desto hochwertiger sind sie.
Das Schmieden ist eine Kunst; Das Schreiben auch ;)
-
26.12.10 20:01 #3
Vielen Dank.
Stimmt, hab jetzts 3te mal die Dokumentation gewälzt und habs auch endlich gelesen, dass pack() und LayoutManager auf preferredSize schauen.MFG Scipio
Ein Danke für hilfreiche Antworten ist gern gesehen.
-
28.12.10 17:53 #4
Ich muss das Thema nochmal öffnen, weil ich schon wieder auf Verständnisprobleme mit dem Layoutmanager gestoßen bin.
Jetzt wird aber b im Container c2 linksbündig angeordnet. Wo liegt hierbei das Problem?Code :1 2 3 4 5 6 7 8 9 10 11 12 13
this.setMinimumSize(new java.awt.Dimension(640,480)); c1=new Container(); c2=new Container(); c1.setPreferredSize(new Dimension(20,30)); c1.setPreferredSize(new Dimension(640,480)); c1.setLayout(new FlowLayout(FlowLayout.LEFT)); c2.setLayout(new FlowLayout(FlowLayout.CENTER)); this.setTitle("MainWindow"); this.setLayout(new BorderLayout()); this.add(BorderLayout.NORTH,c1); this.add(BorderLayout.CENTER,c2); b=new ListItem(); c2.add(b);
Es sollen alle Objeckte in Kontainer c1 linksbündig sein und dann wie weiter oben die grauen 4 Ecke mittig in c2. Danke im vorraus.MFG Scipio
Ein Danke für hilfreiche Antworten ist gern gesehen.
-
28.12.10 18:16 #5
Seltsam das Verhalten bei dir, denn bei mir wird alles so dargestellt, wie es soll. Hast du vielleicht irgendwo anders Codezeilen, die das Verhalten ändern? In diesem Codestückchen wird jedenfalls alles richtig dargestellt.
Man sagt, das Schwert eines Samurai sei seine Seele ...
Mit den Beiträgen ist es wie mit Schwertern: Je besser die Rohstoffe sind und je öfter man diese bearbeitet, desto hochwertiger sind sie.
Das Schmieden ist eine Kunst; Das Schreiben auch ;)
-
28.12.10 19:19 #6
Hab den Übeltäter gefunden. Hatte noch in ListItem
stehen.Code :1 2 3 4 5 6 7 8
public Rectangle getBounds() { Rectangle rect = new Rectangle(); rect.height=120; rect.width=120; rect.x=0; rect.y=0; return rect; }
Das hat irgendwie den LayoutManager gekillt.MFG Scipio
Ein Danke für hilfreiche Antworten ist gern gesehen.
Ähnliche Themen
-
Modifizierte Lightbox läßt sich nicht mehr schließen
Von shredder01 im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 14.01.10, 16:44 -
jComponent Size
Von lun27 im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 03.08.08, 22:48 -
modifizierte Tracbar
Von azubi2 im Forum .NET Windows FormsAntworten: 4Letzter Beitrag: 04.03.06, 15:11 -
Modifizierte Windows Forms
Von Maximus im Forum .NET ArchivAntworten: 6Letzter Beitrag: 10.02.06, 16:04 -
Modifizierte Windows Forms
Von Maximus im Forum C/C++Antworten: 2Letzter Beitrag: 24.05.05, 12:07





Zitieren
Login





