1

私は遊んでいます - 私の最初の SWT アプリケーションです。Eclipse SWT Table Java アプリケーション、Mac OS X 10.6.8 をパッケージ化すると、メソッドの戻り値が 0 になります。.app を削除してアプリケーションの実行可能ファイルを実行すると、正常に動作します。日食でうまく動作します。Windows 7 では正常に動作します。「デバッグ」メッセージ ボックスには常に正しい値が含まれています。テーブル clientHeight、headerHeight、itemHeight をハードコーディングすると、戻り値は正しくなります。

private int adjustItemsNEEDED(Table tTable) {
    int itemsNeeded = 0;
    int clientHeight = tTable.getClientArea().height;
    int headerHeight = tTable.getHeaderHeight();
    int itemHeight = tTable.getItemHeight();

    if (itemHeight != 0) {
        itemsNeeded = (clientHeight - headerHeight) / itemHeight;
    } else {
        itemsNeeded = 0;
    }
    messageTextBoxTop.setText("height=" + clientHeight + " header=" + headerHeight + "                item=" + itemHeight + " needed=" + itemsNeeded);
    return itemsNeeded;
}

私の実行可能ファイル:

#!/bin/sh
BASEDIR=`dirname $0`
exec java \
-d64 \
-XstartOnFirstThread \
-classpath $BASEDIR/org.eclipse.SWT.cocoa.macosx.x64/swt.jar:$BASEDIR \
-Djava.library.path=$BASEDIR/org.eclipse.SWT.cocoa.macosx.x64 \
MyApp

私のinfo.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"   "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>CheckBook</string>
<key>CFBundleGetInfoString</key>
<string>SWTHello 1.0 for Mac OS X</string>
<key>CFBundleIconFile</key>
<string>CheckBook.icns</string>
<key>CFBundleIdentifier</key>
<string>org.eclipse.swt.HelloWorldSWTApplication</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>CheckBook</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>?????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
4

0 に答える 0