Я разрабатываю Java-приложение для свинга.Я пытаюсь добавить 2 JPanels на мой основной JFrame.
Мой основной класс JPanel:
public class DrawingPanel extends JPanel {
//mouse variables here
//Point mPt = new Point(0,0);
public DrawingPanel() {
setBackground(COLOURBACK);
MyMouseListener ml = new MyMouseListener();
addMouseListener(ml);
}
public Dimension getPreferredSize() {
return new Dimension(width, height);
}
....
....
....
}
работает нормально, когда я добавляю в качестве единственного компонента в основном кадре.Но когда я пытаюсь добавить еще одну JPanel на рамку, моя DrawingPanel появляется в виде маленького белого прямоугольника.
private void createAndShowGUI()
{
DrawingPanel panel = new DrawingPanel();
JFrame frame = new JFrame("Hex Testing 4");
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
Container content = frame.getContentPane();
JPanel aggregationFrame = new JPanel(new GridBagLayout());
aggregationFrame.add(panel);
aggregationFrame.add(new JLabel("Enter username:"));
content.add(aggregationFrame);
//this.add(panel); -- cannot be done in a static context
//for hexes in the FLAT orientation, the height of a 10x10 grid is 1.1764 * the width. (from h / (s+t))
frame.setSize( (int)(SCRSIZE/1.23), SCRSIZE);
frame.setResizable(false);
frame.setLocationRelativeTo( null );
frame.setVisible(true);
}
Это выглядит так
![result](https://i.stack.imgur.com/JyDnU.png)
Я пытался добавить метод getPreferredSize () в DrawingPanel, как было предложено в JPanel отображается в виде небольшого белого квадрата вопроса, но он не сработал.
Можете ли вы помочь мне с этой проблемой, пожалуйста?
ОБНОВЛЕНИЕ:
Я изменил макет, и теперь я вижу половину моего JPanel.Я думаю, что проблема связана с фиксированными размерами JPanels и JFrame.Будем расследовать это.
![update](https://i.stack.imgur.com/pzuLy.png)