У меня есть объект подкласса Canvas, который я пытаюсь добавить вместе с некоторыми другими подклассами Canvas в JLayeredPane. В документации для JLayeredPane слой задается как целое число, например.
layeredPane.add(child, new Integer(0));
Однако, когда я использую целое число для слоя, я получаю какую-то ошибку времени выполнения. (Я не могу точно сказать, что это за ошибка, потому что моя IDE продолжает жаловаться на отсутствие источника для библиотек Swing.) Как ни странно, когда я использую следующую форму:
layeredPane.add(child, 0);
строка фактически выполняется без ошибок. Я очень новичок в Java и до сих пор не понял, как работает автоупаковка, кроме как сформировать мнение, что она работает не очень хорошо. Я не уверен, что голый 0 будет автоматически упакован в этом случае.
Я хотел бы добавить больше подробностей об этой ошибке, но я даже не вижу исключения. Я буду работать над сокращением своего кода до простого примера, но я надеялся, что кто-то, имеющий опыт работы с JLayeredPane, видел это раньше.
Container.add(Component,int)
. Вот откуда берет начало метод, и он утверждает, что принимает неInteger
, аint
. - person Andrew Thompson   schedule 23.08.2013