Я использую Windows 7, Eclipse 4.2.1 и (пытаюсь использовать) MigLayout 4.0.
Я загрузил miglayout-4.0-swing.jar, добавил его в свой путь к классам и успешно запустил следующий скрипт в консоли Groovy:
import groovy.swing.SwingBuilder
import groovy.swing.factory.LayoutFactory
import javax.swing.WindowConstants as WC
import net.miginfocom.swing.MigLayout
def swing = new SwingBuilder()
swing.registerBeanFactory('migLayout', MigLayout)
swing.build {
frame(id: 'eventScrollPanel', pack: true, show: true,
defaultCloseOperation: WC.EXIT_ON_CLOSE) {
migLayout(layoutConstraints: "fill, debug", columnConstraints: "",
rowConstraints: "")
panel() {
label(text: "test")
}
}
}
В Eclipse я добавил внешний файл jar в свой JDK и убедился, что он отображается в Project => Properties => Java Build Path => вкладка Libraries => JRE System Library [jdk1.7.0_09]. Однако сценарий завершается сбоем из-за следующей ошибки:
Caught: java.lang.ExceptionInInitializerError
java.lang.ExceptionInInitializerError
at net.miginfocom.layout.UnitValue.<init>(Unknown Source)
at net.miginfocom.layout.UnitValue.<clinit>(Unknown Source)
at net.miginfocom.layout.PlatformDefaults.<clinit>(Unknown Source)
at net.miginfocom.swing.MigLayout.<init>(Unknown Source)
at net.miginfocom.swing.MigLayout.<init>(Unknown Source)
at MigLayoutExamples$_run_closure1_closure2.doCall(MigLayoutExamples.groovy:12)
at MigLayoutExamples$_run_closure1_closure2.doCall(MigLayoutExamples.groovy)
at MigLayoutExamples$_run_closure1.doCall(MigLayoutExamples.groovy:10)
at MigLayoutExamples$_run_closure1.doCall(MigLayoutExamples.groovy)
at MigLayoutExamples.run(MigLayoutExamples.groovy:9)
Caused by: java.lang.NullPointerException
at net.miginfocom.layout.LayoutUtil.hasBeans(Unknown Source)
at net.miginfocom.layout.LayoutUtil.<clinit>(Unknown Source)
... 10 more
Кроме того, ссылка на migLayout в начале строки 12 сценария подчеркнута Eclipse, т.е. Eclipse не может разрешить ссылку.
Всем помощь с благодарностью.