LayoutManager Layout-Containergrösse

IsSchoGuat

Mitglied
Hallo zusammen,

Ich bin Programmiereinsteiger (Hobbyprogrammierer) wenn man das schon so nennen kann :oops:

folgendes Problem ist die Gui für meinen Sudokusolver.

Ich habe in meinem Frame ein BorderLayout eingefügt. Im CENTER ist das eigentliche Sudoku
aber ich bekomme es einfach nicht hin dass der CENTER CONTAINER quadratisch bleibt da immer die gesamte Breite genutzt wird.

Hab es über die PreferredSize Methode probiert. geht nicht.
Hab versucht die Methode PreferredSize vom BorderLayout zu überschreiben aber irgendwie komm ich einfach nicht in die richtige Richtung.... gibt es da einen Trick wie man so etwas hin bekommt.

Ja ich könnte ein in der Größe statisches Fenster machen aber das würde ich nicht verkraften....
Ich bitte nicht um eine Lösung, aber ein TIP wo ich suchen muss würde mich unendlich glücklich machen
Vielen Dank :rtfm:
 

Thallius

Top Contributor
Du kannst schauen welcher Wert gom Frame kleiner ist. Höhe oder Breite und dann kannst du die maximale Breite und Höhe deines Panels entsprechend setzen.

Gruß

Clais
 

IsSchoGuat

Mitglied
Danke für deine Antwort habe das auch gleich probiert......
Habe aus Sicherheit die ursprüngliche MaxSize auf der Console ausgeben lassen... die urprünglichen max Werte werden überschrieben werden aber leider vom BorderLayout völlig ignoriert.

Hab dazu auch die paint Methode vom JPanel überschrieben und 1 Quadrat gezeichnet das vergrößert und verkleinert sich aber das Panel selbst lässt sich nicht vergrößern und verkleinern.........
Die setSize Methode ist nicht kompatiebel mit dem Layout und die setPreferredSize Methode wiederum wird ignoriert.


vielleicht gibt es ja ansätze
 

IsSchoGuat

Mitglied
[package guiKlassen;

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

/**
* Created by Florian on 26.02.2015.
*/
public class SudokuJPanel extends JPanel {

private static final int SQUARE_SPACE = 10;
private SudokuJTextField tblSudoku;
private JPanel panSmall;


public SudokuJPanel() {
buildWidgets();
}

@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
int squareLength=Math.min(getWidth(),getHeight())-SQUARE_SPACE*2;
int x = (getWidth()-squareLength)/2;
int y = (getHeight()-squareLength)/2;
g.drawRect(x, y, squareLength, squareLength);
resizeWidget();

}

public void resizeWidget() {
System.out.println("MAX " + getMaximumSize() + "IST BREITE :" + getWidth() + " IST HÖHE :" + getHeight());
System.out.println("MIN " + getMinimumSize());
int length = Math.min(getWidth(), getHeight());
setMaximumSize(new Dimension(length, length));
setMinimumSize(new Dimension(length, length));

}

private void buildWidgets() {
setLayout(new GridLayout(3, 3, 3, 3));
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
panSmall = new JPanel();
panSmall.setLayout(new GridLayout(3, 3));
add(panSmall);
for (int x = 0; x < 3; x++) {
for (int y = 0; y < 3; y++) {
tblSudoku = new SudokuJTextField();
panSmall.add(tblSudoku);
tblSudoku.setText("9");
}


}
}
}


}
}]
 

IsSchoGuat

Mitglied
JUHU ich habs geschafft das ist meine Lösung ;)
War eine schwere Geburt aber ich lerne .....


[package guiKlassen;

import javax.swing.border.AbstractBorder;
import java.awt.*;
import java.awt.geom.Path2D;
import java.awt.geom.Rectangle2D;



/**
* Created by Florian on 02.03.2015.
*/
public class SudokuLineBorder extends AbstractBorder {

protected Color color;
protected boolean isMyBorder;
protected int widthOffSet;
protected int heightOffSet;



public SudokuLineBorder(Color color, boolean isMyBorder) {
this.color = color;
this.isMyBorder= isMyBorder;
}

public int getHeightOffSet() {
return heightOffSet;
}

public void setHeightOffSet(int heightOffSet) {
this.heightOffSet = heightOffSet;
}


public int getWidthOffSet() {
return widthOffSet;
}

public void setWidthOffSet(int widthOffSet) {
this.widthOffSet = widthOffSet;
}





private boolean isMyBorder(){
return isMyBorder;
}



@Override
public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
// super.paintBorder(c, g, x, y, width, height);
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(color);
Shape outlines;
Shape innlines;


int widthOffSet = 0;
int heightOffSet = 0;


if (height > width) {
heightOffSet = (height - width + 10) / 2;
widthOffSet = 10;
}
if (height < width) {
heightOffSet = 10;
widthOffSet = (width - height + 10) / 2;

}
int xSize = widthOffSet+ widthOffSet;
int ySize = heightOffSet + heightOffSet;

outlines = new Rectangle2D.Float(x, y, width, height);
innlines = new Rectangle2D.Float(x + widthOffSet, y + heightOffSet, width - xSize, height - ySize);

Path2D path = new Path2D.Float(Path2D.WIND_EVEN_ODD);

path.append(outlines, false);
path.append(innlines, false);
g2d.setColor(color);
g2d.fill(path);

}

@Override
public Insets getBorderInsets(Component c, Insets insets) {
int widthOffSet = 0;
int heightOffSet = 0;

int height = c.getHeight();
int width=c.getWidth();

if (height > width) {
heightOffSet = (height - width + 10) / 2;
widthOffSet = 10;
}
if (height < width) {
heightOffSet = 10;
widthOffSet = (width - height + 10) / 2;

}
insets.right=insets.left=widthOffSet;
insets.top=insets.bottom=heightOffSet;

return insets;
}

}

]
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Welches Java Layout sollte ich verwenden? AWT, Swing, JavaFX & SWT 3
S Layout - Problem AWT, Swing, JavaFX & SWT 1
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
H Swing , GridLayout, Größenbestimmung der Komponenten im Layout AWT, Swing, JavaFX & SWT 8
melaniemueller Layout wechseln über RadioButtons AWT, Swing, JavaFX & SWT 4
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
J Swing Hilfe bei Layout AWT, Swing, JavaFX & SWT 2
R Layered Layout AWT, Swing, JavaFX & SWT 1
E showAndWait is not allowed during animation or layout processing Memory FX AWT, Swing, JavaFX & SWT 2
newJavaGeek Grid-Layout problem AWT, Swing, JavaFX & SWT 7
E Swing Layout während der Laufzeit anpassen AWT, Swing, JavaFX & SWT 3
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
R Layout Manager null und Component wird nicht hinzugefügt AWT, Swing, JavaFX & SWT 3
S Kann javafx.scene.layout.VBoxBuilder nicht importieren AWT, Swing, JavaFX & SWT 3
OSchriever Layout über Radiobuttons ändern AWT, Swing, JavaFX & SWT 4
B Swing Probleme mit dem Layout AWT, Swing, JavaFX & SWT 1
Hatsi09 JButton text layout AWT, Swing, JavaFX & SWT 9
I JavaFX - festes Layout AWT, Swing, JavaFX & SWT 1
S JavaFX TableView einzelne Zelle Layout zuweisen AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing Zwei gleichgroße Panels in einem Scrollpane mit Layout AWT, Swing, JavaFX & SWT 9
Neumi5694 Swing Card-Layout, Fokus AWT, Swing, JavaFX & SWT 2
kilopack15 Interface mit Layout verknüpfen AWT, Swing, JavaFX & SWT 2
Y Layout/Ausrichtungsprobleme AWT, Swing, JavaFX & SWT 4
T JavaFX Custom Layout AWT, Swing, JavaFX & SWT 5
A GUI Layout AWT, Swing, JavaFX & SWT 11
A Layout-Manager, JScrollPane, ... Chaos AWT, Swing, JavaFX & SWT 5
L wie Layout-Grid in JXPanel anzeigen? AWT, Swing, JavaFX & SWT 5
L Eigene Component Layout AWT, Swing, JavaFX & SWT 4
Soloeco LayoutManager Wie und welches Layout nutze ich am Besten? AWT, Swing, JavaFX & SWT 13
M LayoutManager Modalen JDialog ein Layout zuweisen AWT, Swing, JavaFX & SWT 3
M LayoutManager Layout reagiert nicht auf Constraints AWT, Swing, JavaFX & SWT 4
F GridBag Layout AWT, Swing, JavaFX & SWT 1
Z Absolutes Layout / Kontrolle über Anordnung AWT, Swing, JavaFX & SWT 3
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
M Layout-Probleme unter Swing AWT, Swing, JavaFX & SWT 5
D LayoutManager GUI skalieren und deren Komponenten mit Grid(Bag)Layout-Manager. AWT, Swing, JavaFX & SWT 5
J ComboBoxModel addElement verändert Layout AWT, Swing, JavaFX & SWT 8
E Probelm mit Layout AWT, Swing, JavaFX & SWT 1
B Hilfe welches Layout brauch ich AWT, Swing, JavaFX & SWT 4
P Tipps für GUI-Layout AWT, Swing, JavaFX & SWT 2
M Passender Layout-Manager AWT, Swing, JavaFX & SWT 3
M LayoutManager Layout zur Laufzeit ändern AWT, Swing, JavaFX & SWT 8
N Swing Zweifarbiges Layout für den Filechooser AWT, Swing, JavaFX & SWT 12
B LayoutManager Card Layout AWT, Swing, JavaFX & SWT 2
E Angehängtes Layout, aber wie? AWT, Swing, JavaFX & SWT 12
1 Eigenes Layout schreiben AWT, Swing, JavaFX & SWT 4
B SWT layout invalidieren in SWT? AWT, Swing, JavaFX & SWT 4
R Welchen Layout Manager/ Wie strukturieren? AWT, Swing, JavaFX & SWT 14
J Layout: oben 20% unten 80% AWT, Swing, JavaFX & SWT 12
T Layout für Listendarstellung AWT, Swing, JavaFX & SWT 3
F LayoutManager Null-Layout unter Linux im TreeCellEditor AWT, Swing, JavaFX & SWT 3
K Eclipse Layout (Gimp Layout, Tiled Layout...) AWT, Swing, JavaFX & SWT 4
C LayoutManager Passendes Layout gesucht AWT, Swing, JavaFX & SWT 2
M Layout funktioniert nicht AWT, Swing, JavaFX & SWT 3
dzim Layout von Panes in JFX2 AWT, Swing, JavaFX & SWT 17
H Layout Idee AWT, Swing, JavaFX & SWT 8
M Swing Dynamisches Layout AWT, Swing, JavaFX & SWT 10
P Swing welchen Layout Manager verwenden AWT, Swing, JavaFX & SWT 9
J LayoutManager Komponentenaustausch zerschießt Layout AWT, Swing, JavaFX & SWT 4
F Layout-Problem AWT, Swing, JavaFX & SWT 2
K Gui Layout Frage AWT, Swing, JavaFX & SWT 5
B Anderen Layout-Manager verwenden AWT, Swing, JavaFX & SWT 17
E Null-Layout - Wie geht es ohne? AWT, Swing, JavaFX & SWT 19
Furtano AWT mehrere Bilder in einen Frame zeichnen + Layout Manager AWT, Swing, JavaFX & SWT 10
L Swing dynamisches Image-Panel in Layout einbinden AWT, Swing, JavaFX & SWT 10
D Bild in JPanel verschiebt Layout. Wie fixieren? AWT, Swing, JavaFX & SWT 9
GUI-Programmer Wieder ne Layout Frage AWT, Swing, JavaFX & SWT 11
GUI-Programmer LayoutManager Kurze Layout Frage - eine komponente mittig? AWT, Swing, JavaFX & SWT 5
D Problem mit 3-Spalten Layout AWT, Swing, JavaFX & SWT 17
ARadauer Wenig Material zum Thema: Design, Layout, Usability von Swing Anwendungen AWT, Swing, JavaFX & SWT 11
S LayoutManager Welcher LayoutManager für dieses zweispaltige Layout? AWT, Swing, JavaFX & SWT 13
G LayoutManager Layout welches von Links nach rechts anordnet mit TOP Alignment! AWT, Swing, JavaFX & SWT 5
A Best practice für konkretes Layout AWT, Swing, JavaFX & SWT 10
G LayoutManager Layout für Spalten AWT, Swing, JavaFX & SWT 8
A Layout/JPanelgröße AWT, Swing, JavaFX & SWT 6
S pack() bei null-Layout AWT, Swing, JavaFX & SWT 10
C SWT Tabellen-Layout in StyledText? AWT, Swing, JavaFX & SWT 6
J LayoutManager Welchen Layout/Design-Manager? AWT, Swing, JavaFX & SWT 4
R Swing Layout setzen AWT, Swing, JavaFX & SWT 3
L Layout automatische Anpassung umgehen? AWT, Swing, JavaFX & SWT 5
A Problem mit Layout-Manager AWT, Swing, JavaFX & SWT 11
J Button Layout anpassen AWT, Swing, JavaFX & SWT 22
H LayoutManager Layout mit GridBagLayout machbar? AWT, Swing, JavaFX & SWT 6
B Buttongröße im Layout AWT, Swing, JavaFX & SWT 4
B LayoutManager Layout Problem AWT, Swing, JavaFX & SWT 14
O LayoutManager Layout entwerfen AWT, Swing, JavaFX & SWT 3
A diverse Layout-Fragen AWT, Swing, JavaFX & SWT 4
F LayoutManager Eigenes Layout die Lösung?! AWT, Swing, JavaFX & SWT 4
dzim SWT Layout mit Sections aus Eclipse Forms AWT, Swing, JavaFX & SWT 17
F JScrollPane verwirft Layout von JPanel AWT, Swing, JavaFX & SWT 2
C LayoutManager Layout und vergrößern des Frames AWT, Swing, JavaFX & SWT 5
E Swing Runde Buttons / Position eines Obj. im Layout AWT, Swing, JavaFX & SWT 7
S Swing UI-Elemente ordnen sich ungewollt in einer Reihe (ohne Layout) AWT, Swing, JavaFX & SWT 5
A Ungewollte Layout änderungen AWT, Swing, JavaFX & SWT 3
A Suche: Eclipse-GUI-Layout AWT, Swing, JavaFX & SWT 5
E JPanel mit Null Layout entfernt Buttons AWT, Swing, JavaFX & SWT 11
N Swing Layout positionieren AWT, Swing, JavaFX & SWT 2
B Methode setzt nicht das Layout in einer if-Abfrage AWT, Swing, JavaFX & SWT 13
H LayoutManager Dynamisches Layout AWT, Swing, JavaFX & SWT 3
M SWT Breite von Textfeld nur ohne Layout änderbar AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben