Перед Java до 1.5 вам нужно написать frame.getContentPane().add(...)
.
Кажется достаточно простым, но делайте это достаточно часто, и это становится очень, очень утомительным.
Пройдите 1.5, и они добавляют возможность просто использовать frame.add(...)
и переадресовывать эти вызовы на contentPane
.
Может показаться, что это не так уж и много, но, возможно, это был один из самых спорных вопросов и серьезный вопрос о возможностях в Swing.
Это также стало источником разочарования для новых программистов,кто не понимал, что JFrame
на самом деле является составным компонентом и тратит часы, пытаясь понять, почему ничего не работает.
Кроме того, в свое время получить достойную IDE с автоматическим завершением было на самом деле трудной задачей, так что, да, печатать эту штуку на длинной руке было полной болью в ... запястьях