Я согласен со всеми замечаниями, которые Бен Торелл сделал в своем посте, а также с некоторыми дополнительными советами по устранению неполадок здесь.
Попробуйте это -
public class DrawingBoardTest extends JFrame {
public DrawingBoardTest() {
getContentPane().add(new drawingBoard(), BorderLayout.CENTER);
}
public static void main(String[] args ) {
JFrame f = new DrawingBoardTest();
f.setSize(500, 500);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
Если отображается DrawingPanel, то это проблема с вашим GridBagLayout, или с предпочтительным размером, установленным на DrawingPanel, который недостаточно велик для отображения чертежа, или добавлением DrawingBoard в pDraw (который, насколько я вижу из кода, действительно не нужно ...).
Макет по умолчанию для панели содержимого JFrame - BorderLayout, который даст все пространство центральному компоненту, где я размещаю drawBoard в опубликованном коде.
Макетом JPanel по умолчанию является FlowLayout, который дает компоненту только его предпочтительный размер. Я вижу, что вы установили предпочтительный размер для pDraw, но не для drawBoard, в исходном коде - у drawBoard может быть установлен предпочтительный размер, который слишком мал для отображения чертежа.
Если DrawingPanel не отображается - это проблема в вашем методе DrawingPanel paint ().