jButton事件(简单快速拿分)散分
各位大侠,写一段代码实现jButton实现关闭JDialog
功能和点击右上角关闭的红叉叉实现的一模一样,也就是说点击按钮就触发了那个红叉叉执行的代码。
不需要写触发器,其实就是几行代码。
可以随便写出自己的方法,只要能有效果 。
[解决办法]
[解决办法]
Jbutton click
JDialog close
[解决办法]
不是不看中,
给jbutton监听click事件,jdialog应该有close方法呢,调用下就行了吧。
[解决办法]
- Java code
import javax.swing.*;import java.awt.*;import java.awt.event.*;public class DialogDemo extends JFrame{ private JButton button=new JButton("打开"); private JDialog dialog=new JDialog(this); private TextField textField=new TextField(10); JButton btn=new JButton("close");; public DialogDemo(String title){ super(title); textField.setEditable(true); button.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ae){ dialog.add(btn); dialog.pack(); dialog.setVisible(true);// textField.setText(dialog.getText()); } }); btn.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ae){ dialog.dispose(); //这一行代码就可以关闭对话框 } }); Container contentPane=this.getContentPane(); contentPane.setLayout(new FlowLayout()); contentPane.add(button); contentPane.add(textField); setSize(500,300); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub new DialogDemo("DialogDemo"); }}
[解决办法]
需要引入jquery框架:
<script type="text/javascript">
$(function() {
$('#editDialog').dialog({
autoOpen:false,
width:'80%',
modal : true,
buttons:{
"保存":function(){},
//点击取消键dialog就会关闭
"取消":function(){$('#editDialog').dialog("close")}
}
});
});
</script>
<body>
<div id="editDialog" title="修改界面" style="display:none"></div>
</body>
[解决办法]
[解决办法]
- Java code
import java.awt.Dimension;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;public class Test extends JFrame implements ActionListener{ private static final long serialVersionUID = 1L; private JButton btntest; public Test(){ super("按钮时间测试"); btntest=new JButton("Click Me"); btntest.addActionListener(this); getContentPane().add(btntest); this.setSize(88, 88); Dimension winSize=Toolkit.getDefaultToolkit().getScreenSize(); setLocation((winSize.width-this.getWidth())/2,(winSize.height-this.getHeight())/2); } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if(e.getSource().equals(btntest)){ JOptionPane.showMessageDialog(null, "OK!"); } } public static void main(String[] args) { new Test().setVisible(true); }}
[解决办法]
感觉楼主的这个命题和需要的答案有所区别嘛……
楼主说:
功能和点击右上角关闭的红叉叉实现的一模一样,也就是说点击按钮就触发了那个红叉叉执行的代码。
首先我们要看看点击了右上角的按钮会发生什么,才能做到一样效果对不?
但是,实际上右上角的那个X点了之后会发生什么也不是一定的
setDefaultCloseOperation 之后,区别如下:
DO_NOTHING_ON_CLOSE:点了之后什么都不做
HIDE_ON_CLOSE:点了之后 setVisible(false) —— 默认值
DISPOSE_ON_CLOSE:点了之后 dispose()
既然有三种不同的结果,那效果怎么能统一而论呢?
楼主说:触发了那个红叉叉执行的代码
那是希望然那个x按钮 doClick() ?
这个 JDialog 是重量级的控件,他的边框包括按钮都是系统级的东西
在程序中你是无法获得这个“x按钮”的引用的,java 没有提供这个方面的接口
就算获得了又怎么样? 这又不是一个 JButton,没有 doClick() 可以让你调用
你想让一个 JButton 完美的模拟那个X按钮,
就也应该根据三种不同情况去触发不同的代码
- Java code
switch (getDefaultCloseOperation()) { case JDialog.DO_NOTHING_ON_CLOSE: break; case JDialog.DISPOSE_ON_CLOSE: dispose(); break; case JDialog.HIDE_ON_CLOSE: default: setVisible(false); break; }
[解决办法]
我觉得楼主的意思应该是 按钮x点击之后会使窗口关闭 楼主想要的就是这样的效果 即单击按钮会执行自己编写的代码 关闭按钮只是楼主举的一个例子罢了 所以请参考我以上简单易懂的的代码 即单击一个按钮执行自己编写的代码
[解决办法]
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
System.exit(0);
}
});
[解决办法]
话说当年第一次见到JButton时邪恶了一把,嘿嘿试着用中文来读一下
[解决办法]
[解决办法]