java如何为对话框添加按钮,以及如何为按钮添加事件?

2024-12-30 12:29:34
推荐回答(4个)
回答1:

问题补充做打
首先楼主你的Dialog
其实已经添加了按钮,只不过一开始没有显示
你需要用鼠标拖动一下对话框,才能显示按钮,
第二添加事件监听就象我以前说的一样
使用的是btn.addActionListener(new ActionListener(){
事件代码
});
我补充了一下你的代码
如下:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dialog;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Del {

JTextField pathField;
JFrame delFrame;
JPanel panel;
Dialog completeDialog;

public static void main(String[] args) {
new Del();
}

public Del() {
frameDel();
}

public void frameDel() {
delFrame = new JFrame("文件删除器");
delFrame.setBounds(150, 150, 500, 200);
delFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
delFrame.setVisible(true);
delFrame.setLayout(null);
panel = new JPanel();
Container con = delFrame.getContentPane();
con.setBounds(0, 0, 400, 200);
con.setBackground(new Color(222, 111, 111));
con.setLayout(null);

pathField = new JTextField();
pathField.setBounds(30, 30, 250, 30);
con.add(pathField);

JButton delButton = new JButton("删除");
delButton.setBounds(350, 30, 60, 30);
con.add(delButton);

delButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
delFile(pathField.getText());
}
});

delFrame.validate();
delFrame.repaint();

}

public void delFile(String path) {
File goalFile = new File(path);
if (goalFile.exists()) {
goalFile.delete();
completeDialog = new Dialog(delFrame, "删除结果提示");
completeDialog.setVisible(true);
completeDialog.setBounds(250, 250, 250, 90);
completeDialog.setModal(true);
JButton testButton = new JButton("继续删除");
JButton testButton2 = new JButton("退出");
completeDialog.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e) {
System.exit(0);
}

});

testButton2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
testButton.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {
completeDialog.setVisible(false);
}

});
panel.add(testButton,BorderLayout.WEST);
panel.add(testButton2,BorderLayout.EAST);
completeDialog.add(panel,BorderLayout.CENTER);
pathField.setText("文件删除成功!");
} else {
pathField.setText("文件不存在!");
}
}
}
不过缺点在于以显示的时候只有一个对话框,没有按钮,只有用鼠标拖动对话框的大小后才能显示按钮,我这个在找方法,希望你能找到方法解决,我对javaGUI学的不深,希望有哪位大侠可以给个方法解决一下一开始不显示按钮的问题

回答2:

主要就是用eventListener加事件,用.add();加按钮

回答3:

看来这100分是赚不到了.....
因为很久都没写这东西了...

回答4:

自己去查API里面用法什么的都有