现在在JDialog中有两个按钮,名称分别“ok”,和“download”,我想通过JDialog分别得到他们的值做判断,请那个高手来帮一下
解决方案 »
- 怎么使用jmail收取未读邮件
- 找茬
- JAVA中有关inputstream中的read方法读取中文乱码的问题
- 问一个关于properties文件的路径的问题
- jbuilder2007 运行程序时显示the selection did not contain anything that can be run on a server
- socket的面试题求解
- 问下,算出了某年某个周期,如何算出这个周期的开始日期和结束日期啊,高手救教
- 输出格式化的问题,已经在论坛上搜索过,没有答案,所以来这里再问问
- 关于constructor
- 请高手指点:I/O包里的类太多了,请问怎么学习?
- 写个程序可以加载任意,一种加载数据库文件
- 怎么保存对数据库的修改
最好以用例形式体现一下。比如,你点击
OK按钮,将会发生什么,你又希望得到什么。
downLoad呢
那也不至于叫做遍历吧……
比如这样:
简单写了两个类。或许不能满足你,但是你可以提取些思路吧。一般不会把按钮在传递回去,传回去一个值,来表示就是了。
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JButton;
import javax.swing.JFrame;public class JDialogFrame extends JFrame {
private static final long serialVersionUID = 1L; public JDialogFrame() {
super();
setDefaultCloseOperation(EXIT_ON_CLOSE);
installComponents(); setSize(400, 300);
setLocationRelativeTo(null);
setVisible(true);
} private void installComponents() {
Container c = getContentPane(); JButton btn = new JButton("Click");
c.add(btn, BorderLayout.SOUTH);
btn.addActionListener(l);
} private ActionListener l = new ActionListener() { public void actionPerformed(ActionEvent e) {
int rs = DODialog.showDODialog();
// System.out.println(rs);
switch (rs) {
case DODialog.OK:
System.out.println("OK");
break;
case DODialog.CANCEL:
System.out.println("cancel");
break;
case DODialog.DOWN_LOAD:
System.out.println("download");
break; default:
break;
}
}
}; public static void main(String[] args) {
new JDialogFrame();
}
}import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;public class DODialog extends JDialog {
private static final long serialVersionUID = 1L;
public static final int DOWN_LOAD = 1 << 10;
public static final int OK = 2 << 10;
public static final int CANCEL = -1; private JButton downLoadButton;
private JButton okButton;
private int rs = CANCEL; public DODialog() {
super();
setModal(true);
installComponents();
} private void installComponents() {
Container c = getContentPane(); c.add(createButtonPanel(), BorderLayout.SOUTH);
} private JPanel createButtonPanel() {
JPanel p = new JPanel();
p.setLayout(new FlowLayout(FlowLayout.RIGHT));
downLoadButton = new JButton("download");
downLoadButton.addActionListener(new ActionListener() { @Override
public void actionPerformed(ActionEvent e) {
rs = DOWN_LOAD;
setVisible(false);
}
}); okButton = new JButton("OK");
okButton.addActionListener(new ActionListener() { @Override
public void actionPerformed(ActionEvent e) {
rs = OK;
setVisible(false);
}
});
p.add(downLoadButton);
p.add(okButton); return p;
} public static int showDODialog() {
DODialog d = new DODialog();
d.setSize(600, 400);
d.setLocationRelativeTo(null);
d.setVisible(true); int rs = d.rs;
d.dispose();
d = null;
return rs; }
}