2014-01-20 18 views
1

This示例使用Swing渲染消息對話框。我想知道是否有類似的解決方案只使用AWT。它應該包含最少的類/代碼。沒有小程序請。Java AWT HelloWorld示例的最短路徑是什麼?

編輯:我知道AWT非常古老,但它適合玩耍和玩樂。

EDIT2:

到目前爲止,我想出了這樣的代碼http://www.jan.newmarch.name/java/xadvisor/dialogs/dialogs.html

import java.awt.*; 

public class AWTHello extends Frame { 
    public static void main(String argv[]) { 
     new AWTHello().show(); 
    } 

    AWTHello() { 
     add("Center", new InvokeDialog(this)); 
     pack(); 
    } 
} 

class InvokeDialog extends Button { 
    Frame frame; 

    InvokeDialog(Frame fr) { 
     super("Show dialog"); 
     frame = fr; 
    } 

    public boolean action(Event evt, Object what) { 
     Dialog d = new Dialog(frame, false); 
     d.add("Center", new Label("Hello")); 
     d.pack(); 
     d.show(); 
     return true; 
    } 
} 
+0

'swingx'是一個GUI工具包,你的意思是該示例使用Swing – Reimeus

+0

是的,你是對的。 – math

+0

AWT是Java 1.0,1995年份的東西。你應該使用Swing。 – duffymo

回答

1

你不應該使用它,但如果你真的想嘗試:

package awt; 

import java.awt.Frame; 
import java.awt.Label; 
import java.awt.event.WindowAdapter; 
import java.awt.event.WindowEvent; 

public class Hello { 

    public static void main(String[] args) { 
     Frame f=new Frame("Hello World example of awt application"); 
     Label label1=new Label("Hello World", Label.CENTER); 
     f.add(label1); 

     f.setSize(300,100); 
     f.setVisible(true); 
     f.addWindowListener(new WindowAdapter() { 
      public void windowClosing(WindowEvent event) { 
       System.exit(0); 
      } 
     }); 
    } 

} 
3

試試這個:

import java.awt.Dialog; 
import java.awt.Label; 
import java.awt.Window; 

public class Main { 
public static void main(String[] args) { 
    Dialog d = new Dialog(((Window)null),"Hello world!"); 
    d.setBounds(0, 0, 180, 70); 
    d.add(new Label("Hello world!")); 
    d.setVisible(true); 
} 
} 
2

ByteBit的解決方案非常短,但不會關閉。與Pisek的匿名類建議我得到這個。

import java.awt.*; 
import java.awt.event.*; 

public class AWTHello { 
    public static void main(String argv[]) { 
     Frame f = new Frame("Hello world!"); 
     f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); 
     f.setSize(300, 100); 
     f.show(); 
    } 
}