對話框不能單獨存在,依賴於窗體,有顯示標題,有模式 獲取Dialog對象,new出來,構造參數:Frame對象,String的標題,模式 窗體內部的內容,Label對象,Button對象,調用Dialog對象的add()方法,把這兩個添加進去 Dialog也是一個普通的窗體,需要設置尺寸和位置 這個 ...
對話框不能單獨存在,依賴於窗體,有顯示標題,有模式
獲取Dialog對象,new出來,構造參數:Frame對象,String的標題,模式
窗體內部的內容,Label對象,Button對象,調用Dialog對象的add()方法,把這兩個添加進去
Dialog也是一個普通的窗體,需要設置尺寸和位置
這個Dialog窗體不用加入到Frame窗體中,只需要設置是否顯示就可以了
對話框的叉號,給對話框添加窗體事件
調用Dialog對象的addWindowListener()方法,設置,重寫windowClosing()方法,方法裡面調用Dialog對象setVisible(flase),隱藏掉
顯示信息
調用Label對象的setText()方法,設置文本
import java.awt.Button; import java.awt.Dialog; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Label; import java.awt.TextArea; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.File; public class FrameDemo { private Frame frame; private TextField tf; private TextArea ta; private Button button; private Dialog dialog; private Label label; public FrameDemo() { init(); } /** * 初始化 */ public void init() { frame = new Frame("測試窗體"); frame.setBounds(300, 200, 300, 400); frame.setLayout(new FlowLayout()); tf = new TextField(20); button = new Button("轉到"); ta = new TextArea(30, 30); frame.add(button); frame.add(tf); frame.add(ta); dialog=new Dialog(frame, "警告", false); dialog.setBounds(250, 100, 200, 100); dialog.setLayout(new FlowLayout()); label=new Label(); dialog.add(label); frame.setVisible(true); addEventAction(); } /** * 添加事件 */ public void addEventAction() { // 退出 frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); //對話框的window事件 dialog.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { dialog.setVisible(false); } }); // action事件 button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String dirName = tf.getText(); File file = new File(dirName); if (!file.isDirectory() || !file.exists()) { dialog.setVisible(true); label.setText(dirName+"目錄不存在"); ta.setText("目錄不存在"); return; } String[] files = file.list(); StringBuilder sb = new StringBuilder(); for (String name : files) { sb.append(name); sb.append("\r\n"); } ta.setText(sb.toString()); } }); } /** * @param args */ public static void main(String[] args) { new FrameDemo(); } }