Я действительно ошарашен здесь (или, может быть, просто "тупой").Я создаю простое приложение Java Swing на своем относительно новом Mac, используя Системную библиотеку JRE (JVM Contents (MacOS X Default), Hibernate 3.0 и MigLayout с Eclipse Helios. Все шло хорошо, пока я не увидел следующие сообщения об ошибкахэто препятствует графическому интерфейсу даже отрисовывать.
2011-02-12 09:40:27.842 java[809:903] [Java CocoaComponent compatibility mode]: Enabled
2011-02-12 09:40:27.843 java[809:903] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000
2011-02-12 09:41:08.355 java[809:903] *** __NSAutoreleaseNoPool(): Object 0x1001575c0 of class NSConcreteMapTableValueEnumerator autoreleased with no pool in place - just leaking
Первые две строки выбрасываются, когда я создаю экземпляр JButton с помощью этого простого кода:
private JButton button = new JButton();
Последняя строка выбрасывается в заключениивызова моего конструктора контроллера в Main ().
public static void main(String[] args) {
// Creates a model of the system logic.
LeapsAndBoundsModel model = new LeapsAndBoundsModel();
// Creaties a view for the system logic.
LeapsAndBoundsView leapsAndBoundsView = new LeapsAndBoundsView();
// Creates a controller that links the two.
LeapsAndBoundsController controller = new LeapsAndBoundsController(model, leapsAndBoundsView);
}
Я гуглил эту проблему и обнаружил множество людей, у которых возникла такая же проблема, но почти все они кодируют с использованием приложения CocoaComponent для iPhoneЭто простой графический интерфейс, который использует Hibernate для сохранения информации в локализованной базе данных Derby.
Я безуспешно испробовал оба следующих предложения:
//Set the CocoaComponent CompatibilityMode to "False"
System.setProperty( "com.apple.eawt.CocoaComponent.CompatibilityMode", "false" );
// Use the "invokeLater" method within Main() construct
SwingUtilities.invokeLater( new Runnable() {
public void run() {
doIt();
}
});
Любая помощь будет принята с благодарностью..