Java AWT HelloWorld示例的最短路径是什么?

时间:2014-01-20 15:19:42

标签: java awt

This示例使用Swing呈现消息对话框。我想知道是否只有使用AWT的类似解决方案。它应该涉及最少的类/代码。请不要小工具。

编辑:我知道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;
    }
}

3 个答案:

答案 0 :(得分:4)

ByteBit的解决方案很短但不会关闭。用匿名类作为 Mr. P suggested我知道了。

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();
    }
}

答案 1 :(得分: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 :(得分:2)

你不应该使用它,但如果你真的想尝试:

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);
            }
        });
    }

}