Hallo Com,
ich habe das Problem, dass ein Panel, welches ich in ein anderes Panel eingefüge, welches das BorderLayout besitzt, nicht angezeigt wird.
Erst einmal der Aufbau:
Ich füge in ein JFrame ein JPanel mit BorderLayout ein.
Das Panel bekommt in die North-Postionen ein JPanel welches als menuBar dient.
Auf die West-Postion kommt ein weiteres Panel, genauso wie auf die East-Position.
Das East-Panel macht mir die Probleme. Der Name von dem Panel ist playerPanel.
Das playerPanel hat auch das BorderLayout. Damit die Center-Postion nicht lang gezogen wird (hier soll das playerListPanel rein), setzte ich in die North, East, South und West Positionen leere JPanels.
Es werden alle Panels, außer das in der South-Position angezeigt.
Ich hatte die Vermutung, dass es vielleicht daran liegt, dass das playerPanel unten aus dem Bildschirm herausgeht. Wenn man aber nachrechnet, stimmen alle Zahlen.
Ich hoffe ihr konnt mir helfen!
ich habe das Problem, dass ein Panel, welches ich in ein anderes Panel eingefüge, welches das BorderLayout besitzt, nicht angezeigt wird.
Erst einmal der Aufbau:
Ich füge in ein JFrame ein JPanel mit BorderLayout ein.
Das Panel bekommt in die North-Postionen ein JPanel welches als menuBar dient.
Auf die West-Postion kommt ein weiteres Panel, genauso wie auf die East-Position.
Das East-Panel macht mir die Probleme. Der Name von dem Panel ist playerPanel.
Das playerPanel hat auch das BorderLayout. Damit die Center-Postion nicht lang gezogen wird (hier soll das playerListPanel rein), setzte ich in die North, East, South und West Positionen leere JPanels.
Es werden alle Panels, außer das in der South-Position angezeigt.
Ich hatte die Vermutung, dass es vielleicht daran liegt, dass das playerPanel unten aus dem Bildschirm herausgeht. Wenn man aber nachrechnet, stimmen alle Zahlen.
Ich hoffe ihr konnt mir helfen!
Java:
public void makePlayerField(){
int playerFieldWidth = getWidth()/2;
int playerFieldHeight = getHeight()-menuBarHeight;
int playerFieldBorderLength = getWidth()/250;
int playerListPanelWidth = 3*playerFieldWidth/4;
int playerListPanelHeight = 6*playerFieldHeight/7;
int playerListBorderLength = getWidth()/250;
int playerFieldWidthSpace = playerFieldWidth-playerListPanelWidth;
int playerFieldHeightSpace = playerFieldHeight-playerListPanelHeight;
//PlayerField
JPanel playerField = new JPanel();
playerField.setBackground(Color.green);
playerField.setLayout(new BorderLayout());
playerField.setPreferredSize(new Dimension(playerFieldWidth, playerFieldHeight));
playerField.setBorder(new MatteBorder(0,0,playerFieldBorderLength,playerFieldBorderLength,Color.BLACK));
playerField.setOpaque(false);
add(BorderLayout.EAST, playerField);
//PlayerFieldSpacePanels
JPanel playerFieldSpaceWest = new JPanel();
playerFieldSpaceWest.setPreferredSize(new Dimension(playerFieldWidthSpace/2, 0));
playerFieldSpaceWest.setBackground(Color.pink);
playerField.add(BorderLayout.WEST, playerFieldSpaceWest);
JPanel playerFieldSpaceEast = new JPanel();
playerFieldSpaceEast.setPreferredSize(new Dimension(playerFieldWidthSpace/2, 0));
playerFieldSpaceEast.setBackground(Color.pink);
playerField.add(BorderLayout.EAST, playerFieldSpaceEast);
JPanel playerFieldSpaceBottom = new JPanel();
playerFieldSpaceBottom.setPreferredSize(new Dimension(0, playerFieldHeightSpace/2));
playerFieldSpaceBottom.setBackground(Color.pink);
playerField.add(BorderLayout.SOUTH, playerFieldSpaceBottom);
JPanel playerFieldSpaceTop = new JPanel();
playerFieldSpaceTop.setPreferredSize(new Dimension(0, playerFieldHeightSpace/2));
playerFieldSpaceTop.setBackground(Color.pink);
playerField.add(BorderLayout.NORTH, playerFieldSpaceBottom);
//PlayerList
JPanel playerListPanel = new JPanel();
playerListPanel.setPreferredSize(new Dimension(playerListPanelWidth, playerListPanelHeight));
playerListPanel.setBorder(new MatteBorder(playerListBorderLength, playerListBorderLength, playerListBorderLength, playerListBorderLength, Color.black));
playerListPanel.setBackground(Color.red);
playerField.add(BorderLayout.CENTER, playerListPanel);
}