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

public class Del
{

JTextField pathField;
JFrame delFrame;
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);

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();
Dialog completeDialog=new Dialog(delFrame,"删除结果提示");
completeDialog.setSize(50, 20);
completeDialog.setVisible(true);
completeDialog.setBounds(250,250, 150, 90);
completeDialog.setModal(true);
JButton testButton=new JButton("继续删除");
completeDialog.add(testButton);
JButton testButton2=new JButton("退出");
completeDialog.add(testButton2);

pathField.setText("文件删除成功!");
}
else
{
pathField.setText("文件不存在!");
}

}

}
像我这个例子,如何为对话框添加两个按钮,又如何为按钮添加事件呢?我刚开始学Dialog,什么都不懂,连setSize()怎么用都不知道。所以请大家给我讲基础一点,不要太深奥,谢谢。
请讲详细点好吗?我现在就是不知道怎样给对话框加按钮和事件,请大家在我的代码基础上改一下给我讲,这样可能容易理解一点。 我把分提高了,只要大家能给我讲懂,想要多少分请留言。
con是delFrame上的面板,我现在是要在对话框上面加按钮。怎么能把对话框上的按钮添加上到con上呢?
这样吧,我的代码里面有两个要添加到对话框上的按钮,你把代码全部抄下去给我改一下,实现我想要的功能,这样可能要容易理解一点。

第1个回答  推荐于2016-03-15
问题补充做打
首先楼主你的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个回答  2009-09-10
主要就是用eventListener加事件,用.add();加按钮
第3个回答  2009-09-10
看来这100分是赚不到了.....
因为很久都没写这东西了...
第4个回答  2009-09-10
自己去查API里面用法什么的都有

java如何为对话框添加按钮,以及如何为按钮添加事件?
首先楼主你的Dialog 其实已经添加了按钮,只不过一开始没有显示 你需要用鼠标拖动一下对话框,才能显示按钮,第二添加事件监听就象我以前说的一样 使用的是btn.addActionListener(new ActionListener(){ 事件代码 });我补充了一下你的代码 如下:import java.awt.BorderLayout;import java.awt.Color;imp...

如何在jface Dialog的标题栏中自定义按钮或图标
SWT支持第一种方式。只要对一个控件加上SWT.Help事件的Listener就可以了。我却没有找到怎样在标题栏上加上一个问号的方法。只好借助JNI了,先查需要哪个Win32 API的函数。那是 SetWindowLong(hWnd, GWL_EXSTYLE, WS_EX_CONTEXTHELP)函数,其中hWnd是对话框的句柄,WS_EX_CONTEXTHELP激活了上下文问号...

怎么用Java swing设置一个有是否按钮的弹框
import javax.swing.JOptionPane;public class Demo {public static void main(String[] args) {int choose = JOptionPane.showConfirmDialog(null, "5+5=10吗?", "提示", JOptionPane.YES_NO_OPTION); \/\/ 返回值为0或1\/\/由于该对话框可以获取返回值, 所以根据返回值的不同,进行不同的处理if (...

对一个对话框编程一般需要哪几个步骤?
1、在资源编辑器中画对话框,添加控件,设定控件位置、大小、ID和其它属性;2、定义对话框回调函数,添加控件的事件处理函数;3、注册对话框函数。

java中JFrame按钮添加事件,选择路径放到文本框里面
你需要的方法在按钮事件方法中,有问题追问,good luck!通过选中文件获得绝对路径,点确定读取文件 import java.awt.TextArea;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io....

eclipse创建Dialog窗口的具体方法介绍_eclipse创建Dialog窗口的具体方 ...
当你双击按钮,你需要编辑它的"widgetSelected"事件。在这个事件中,首先实例化"javadialog"对象,通过调用jd.open()方法打开对话框。当对话框关闭时,它会返回一个字符串,将其存储在一个变量中,然后将这个返回值显示在文本框中。例如,代码片段可能如下:java javadialog jd = new javadialog(shell, ...

javaswimggui多表项目增删改查
设计界面:首先,为每个表设计一个表单界面,包括输入字段和操作按钮(如添加、删除、修改、查询)。添加事件监听器:为每个按钮添加事件监听器,监听用户点击事件。根据点击的按钮类型,执行相应的数据库操作(如通过JDBC连接数据库,并执行SQL语句)。执行数据库操作:在事件监听器的actionPerformed方法中,...

如何用java弹出自己编辑的对话框
修改完成的代码如下 String choiceAnswer = (String) JOptionPane.showInputDialog(null, "请选择关机选项", "关机选项",JOptionPane.PLAIN_MESSAGE, null, choices, choices[1]);原因解析:第一问题:JOptionPane.PLAIN_MESSAGE这个常量表示弹出的窗口的类型。中间使用点而不是逗号 第二个问题:变量名写错...

用java在文本框实现鼠标点击事件,一点文本框直接跳出新对话框
import java.awt.event.MouseListener;import javax.swing.JFrame;import javax.swing.JTextField;public class Exec1 extends JFrame { public Exec1() { JTextField txt = new JTextField();txt.addMouseListener(new MouseListener() { public void mouseClicked(MouseEvent e) { new A().setVisible(...

用JAVA做一个QQ对话框,怎样才能实现在下面的文本框里输入字符,在上面的...
作输入框 text1作接收框 然后 text1.setText(text.getText),新文本框就可以获得你输入得内容,但是会出现问题,那就是,后面输入得内容会覆盖 前面得内容!最好 改成 text1.append(text.getText)关闭 那个JBotton 按钮 也加个监听时间 System.exit(0);如果还不明白,可以询问本人的代码!

相似回答