2016-10-02 5 views
1

GuiDesignerなしでCodenameOneを使用して小さなテストアプリケーションを作成しました。今度は、IntelliJ Idea IDEを使用してDesignerでUIを作成しようとしました。 >コードネーム一つの容器 - 新:CodenameOne GUIデザイナーのリソースファイルを使用する方法

  • srcパッケージを右クリック: は、私は次のことをやりました。 この結果、MyContainer.javaというファイルになります。
  • MyContainer.javaを右クリックします。新規 - >コードネーム1 - >コードネーム1のデザイナー。これにより、GUIビルダーウィンドウが表示されます。
  • 空のコンテナといくつかのボタンを作成し、マルチイメージを追加しました。

今すぐ最初の問題:このファイルをどこに保存しますか? srcディレクトリにMyContainer.resという名前で保存しました。

今すぐ第2の問題:このresファイルの使い方は?どのようにそれを読み込むには?どのようにマルチ画像を取得するには? resディレクトリは何ですか?そこに置くべきでしょうか?次のように

私のコードでは、なります

public class MyApplication { 

    private Form current; 
    private Resources theme; 
    private Toolbar mToolbar; 

    public void init(Object context) { 
     theme = UIManager.initFirstTheme("/theme"); 

     // Enable Toolbar on all Forms by default 
     Toolbar.setGlobalToolbar(true); 

     // Pro only feature, uncomment if you have a pro subscription 
     // Log.bindCrashProtection(true); 
    } 

    public void start() { 
     if (current != null) { 
      current.show(); 
      return; 
     } 

     Form form = new Form("Main", new BorderLayout()); 
     // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv 
     // ----> Here I want the created container to be inserted into the form 
     // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    } 

    public void stop() { 
     current = Display.getInstance().getCurrent(); 
     if (current instanceof Dialog) { 
      ((Dialog) current).dispose(); 
      current = Display.getInstance().getCurrent(); 
     } 
    } 

    public void destroy() { 
    } 

} 

私はRESファイルのUIをロードする場所上記のコード内のコメントを挿入します。

多くの方法を試しました。一つは、以下の通りであったが、私はいつも二行目の実行InvcationTargetException取得:

UIBuilder uib = new UIBuilder(); 
Container cnt = uib.createContainer("MyContainer", "Container"); 

は、私が最初のパラメータの前にあるスラッシュでそれを試してみましたが、私はパラメータを変更したが、何も働きました。

後続のresファイルをロードするには、resファイルを最初に起動する必要がありますか?はいの場合は、resファイルから始めるには?

この日曜日に6時間試してみてください。

答えて

0

デザイナーにはthe old GUI builder and not the new oneが含まれています。 XMLと1つのソースファイル== 1つの形式を使用したGUI設計にもっと使い慣れたアプローチを持つ新しいGUIビルダーにすべてのリソースを投入しているので、それを避けることをお勧めします。

古いGUIビルダーは、すべてのスタブコードを自動的に生成するため、明示的に作成されたプロジェクトに対してのみ意味があります。

+0

新しいGUIビルダーを試してみましたが、技術的な問題がありました。リフレッシュが正しく機能しないようです。たとえば変更した場合境界線レイアウトのレイアウトは、コンポーネントツリーにすぐには表示されません。新しいコンポーネントを追加すると、ツリーに更新されます。 UIがもう応答しなかったので、私はそれをkillしなければなりませんでした(私はUbuntu 16.04を使用しています)。しかし、生成されたJavaやGUIファイルはうまくいくようです。 – Guzzer

+0

新しいGUIビルダーで使用するイメージの追加に関する質問:古いGUI Designerを使用してイメージをプロジェクトに追加する必要はありますか?イメージを追加する機能を提供する新しいGUIビルダーのメニュー項目は表示されません。サポートビデオでは、古いGUI Designerを使用して画像をresファイルに追加します。 – Guzzer

+0

今週末には、GUIビルダーを大幅に見直して問題を解決しなければならない、主要なプラグインのアップデートがあります。それができない場合は、http:// githubを再現する方法を問題トラッカーに提出してください。com/codenameone/CodenameOne/issues/imagesはデザイナー(テーマもデザインしています)を使用して編集したresファイル内に配置されます。古いツールは、ローカライズ、テーマ作成、リソース管理などの複数のツールを組み合わせたものでした。GUI構築機能から始めて、小さなツールを一度に1つに分割しています。他のツールはまだそこにあります... –

関連する問題