2011-11-10 7 views
2

私はiPhoneプログラミングから始めました。私は、iPhoneには、loadViewviewWillAppearなどのように、開発者に何をすべきかを知らせる明確な画像があることがわかりました。さて、私はいくつかのJava SEプログラムを書こうと思っていますが、私が思うほど簡単ではありません。私はJavaがこれらのことをしていないようだ(または私は詳細を知らない)ことを発見した。そして、私はJavaが純粋にJFrameを使ってGUIを作成していることがわかりました。Java SEアプリケーションライフサイクルとは何ですか?それとも何もありませんか?

import javax.swing.*; 

    class MyFrame extends JFrame { 
     public MyFrame() { 
     setTitle("My Empty Frame"); 
     setSize(300,200); // default size is 0,0 
     setLocation(10,200); // default is 0,0 (top left corner) 
     } 

     public static void main(String[] args) { 
     JFrame f = new MyFrame(); 
     f.show(); 
     } 
    } 

これはJavaメソッドでメインメソッドにすべてを入れるのですか?より優れたアーキテクチャはありますか?

答えて

6

iPhoneの「アプリケーション」は、伝統的な意味での「アプリケーション」ではないため、ライフサイクルがあります。ドライバ、プラグイン、またはより大きなフレームワークに埋め込まれることになっている他のビットに似ています。彼らの周りには足場がたくさんあり、足場を働かせて足場は適切な時に様々なハンドラーを呼び出す。その足場はアプリケーションの一部とはみなされませんが、実行コードの不可欠な部分です。

Java自体は、Javaアプレット、Javaサーブレット、エンタープライズJava Beansなど、「プラグイン」と同じ種類のものを確実に作成できるプログラミング言語ですが、 Javaも!このようなフレームワークがたくさんあり、アプリケーションを書くことは1つ以上の「プラグイン」を書くことの単なる問題になります。しかし、あなたが座ってmain()メソッドを書いてそこから行くと、どのフレームワークも嫌い、コードの構造を完全に自由にすることができます。

-2
import javax.swing.*; 
import java.awt.Dimension; 

class MyFrame extends JFrame { 
    public MyFrame() { 
    setTitle("My Empty Frame"); 
    setPreferredSize(new Dimension(300, 200)); // default size is 0,0 
    setLocation(10, 200); // default is 0,0 (top left corner) 
    pack(); 
    setVisible(true); 
    } 

    public static void main(String[] args) { 
    SwingUtilities.invokeLater(new Runnable() { 

     @Override 
     public void run() { 
      new MyFrame(); 
     } 
    }); 
    } 
} 
0

JavaSE自体は、私が知る限り、ライフサイクルモデルを提供していません。 Eclipse equinoxはOSGiフレームワークに基づいていますが、それを使用する場合はライフサイクルモデルを持つことができます。あるいは単純なOSGiを使用することもできます。
あなたがより深く見ればまたSunはまた、アプリケーションフレームワークのいくつかの種類を開発したが、私はその名前を知らない...
(ところで、すべてのコンテナが最後に簡単なmainメソッドで実行します:)

0

アーネスト・フリードマン・ヒルからの回答は、すぐ上にあります。アプリケーションフレームワークで作業する場合は、Jide JDAF(私はそれらと提携していません)をお勧めします。 Swingアプリケーションを作成するための商用フレームワークです。それはあなたが非常に迅速に始められるウィザードを持っています、あなたはweb start demoを試すことができます。

これはすべての作業を自由に行うことができますが、アプリケーションの開発方法に関する明確なガイドラインを示します。

関連する問題