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