怎样遍历JDialog中的控件 请各位高手帮个忙 现在在JDialog中有两个按钮,名称分别“ok”,和“download”,我想通过JDialog分别得到他们的值做判断,请那个高手来帮一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 什么意思?没看明白。说详细点。最好以用例形式体现一下。比如,你点击OK按钮,将会发生什么,你又希望得到什么。downLoad呢 谢谢你的回答,我现在想得到每一个按钮对它们分别做判断,点击“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; }} 刚学swing还不怎么入门,多谢指教 JDBC 问一个JVM常量池中字符串编码的问题? 请教一个多线程的问题~ 使用toad schema 里面有表aaa sql editor里面却查不到 我不知道怎么读数组里数,然后再逆序输出! 关于RMI的问题,向大家请教!!!!!!!!!!!!!! Java如何跳出多重循环? 大家帮帮我:关于在TableModel中的取得指定数据所在行的位置即index,该怎么做? jsp include标签 我的机子只装了JDK1.3,网上看到一个现成的关于JDBC的程序,拿来编译通过,运行报错 写个程序可以加载任意,一种加载数据库文件 怎么保存对数据库的修改
最好以用例形式体现一下。比如,你点击
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; }
}