setLayoutManager(new BorderLayout());
创新互联公司是专业的喀左网站建设公司,喀左接单;提供网站建设、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行喀左网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
然后像这样依次添加按钮:(具体添加到面板还是窗体由你自己决定了)
add(b1,BorderLayout.south)
add(b2,BorderLayout.north)
add(b3,BorderLayout.east)
add(b4,BorderLayout.west)
用了borderlayout之后,setbounds方法是无效的,可以删除这些冗余代码
这是一个简单的Swing弹窗带有Yes/No 按钮,还有一个默认的关闭按钮,
下面的通过代码来简单介绍下弹窗的使用,
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 (choose == JOptionPane.YES_OPTION) {
System.out.println("你选择了Yes");
} else if (choose == JOptionPane.NO_OPTION) {
System.out.println("你选择了NO");
} else if (choose == JOptionPane.DEFAULT_OPTION) {
System.out.println("你直接关闭了对话框,没有做出选择!");
}
}
}
问题补充做打
首先楼主你的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学的不深,希望有哪位大侠可以给个方法解决一下一开始不显示按钮的问题