Я создаю программу, в которой пользователь может рисовать линии и стирать их. Я могу создать свое окно и создать работающий JMenuBar. Когда возможность рисования не включена, все в порядке. Но когда возможность рисования включена, второй JMenuBar будет нарисован ниже оригинала. Эта строка меню не работает, и иногда при ее прорисовке ВСЕ графические элементы на экране также перекрашиваются ниже. Изменение размера окна любым способом решает эту проблему.
Я бы опубликовал фотографии, но вы знаете, я новый пользователь и не могу.
Мне удалось сузить проблему до точки в моем методе paint (). Необходимо знать: когда мышь перетаскивают, вызывается метод repaint (). Он использует мой метод paint (), который вызывает метод paintObject (Graphics g) в моем классе Line. Ошибка JMenuBar появляется в конце метода рисования в верхнем классе.
public void paint(Graphics g)//paint() in the top class
{
for(int i = 0; i < objs.size(); i++)//Loop that finds all Tool(Line) objects that
((Tools)objs.get(i)).paintObject(g);//have been drawn, and redraws them.
//This part of the code completes successfully with no error.
}//ERROR OCCURS HERE!!!!!!
Понятия не имею, почему это происходит. Как примечание, на экране также есть JTextField, который не появляется, пока не будет выделен Спасибо, что хотя бы прочли это далеко!