Swing组件中,如何用一个BUTTON弹出一个新窗口?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swing组件中,如何用一个BUTTON弹出一个新窗口?相关的知识,希望对你有一定的参考价值。

急!!!

在JButton 的事件中 new 一个窗口然后 设置窗口为可见的

例如 dialog.setVisble(true);
下面是一个示例:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

/**
*
* @author guan
*/
public class FrameDemo extends JFrame

JButton loginButton =null;
JButton exitButton = null;
JPanel mainPanel =null;
JDialog dialog =null;

public FrameDemo()
loginButton = new JButton("Login");
exitButton = new JButton("Exit");

loginButton.addActionListener(new ActionListener()

public void actionPerformed(ActionEvent e)
showDialog(); //显示窗口

);

exitButton.addActionListener(new ActionListener()

public void actionPerformed(ActionEvent e)
System.exit(0); //关闭窗口

);

mainPanel = new JPanel();
mainPanel.add(loginButton);
mainPanel.add(exitButton);
this.add(mainPanel); //将主面板添加到frame中



/**
* 显示对话框
*/
private void showDialog()
this.setVisible(false);
dialog = new JDialog(this, true);
dialog.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
dialog.setSize(300,180);
dialog.setTitle("DialogTest");
dialog.add(new JLabel("这个是对话框"));
dialog.setLocationRelativeTo(this);
dialog.setVisible(true); //显示对话框,窗口阻塞,不往下执行,只有等到对话框关闭了才往下执行。

//判断主窗口是否是隐藏的,如果是隐藏的就显示
if (!this.isVisible())
this.setVisible(true);




public static void main(String[] args)
JFrame frame = new FrameDemo();
frame.setTitle("JFrame Demo");
frame.setSize(500, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);

参考技术A 为button注册点击事件,在事件处理程序中实例化另一个窗口对象,并将其设置为setVisible(true)即可

class MyForm extends JFrame implements ActionListener
private JButton btn=new JButton("弹出新窗口");

public MyForm()

this.setLayout(new FlowLayout());

this.add(btn);

btn.addActionListener(this);


public void actionPerformed(ActionEvent event)

MainFrame main=new MainFrame();

main.setTitle("主窗体");

main.setLocation(300,200);

main.setVisible(true);


如何用JS点击超链接弹出对话框

1、在body里面布局,把对话框的大致结构写出来。

2、写css样式,让对话框在网页上体现出来。

3、得到如下图样式,结构完成。

4、最后就是写js样式,让我们的对话框达到一定的效果。

5、点击超链接弹出对话框。

参考技术A

为超链接添加onclick()动作,动作内容为弹出对话框。javascript提供了3种类型的对话框:

    alert() : 提醒

    confirm():确认,返回 true 或者 false

    prompt():带输入的对话框

下面进行实例演示:

1、HTML结构

<a href="#" onclick="fun1()">你有一个礼物</a>
<a href="#" onclick="fun2()">我要接收礼物</a>
<a href="#" onclick="fun3()">必须先对暗号</a>

2、javascript代码

function fun1()
alert("你得到一个礼物!!")

function fun2()
if(confirm("确定接收礼物?"))
alert("对一下暗号先...");

function fun3()
var code = prompt("请对暗号:");
if(code)
alert("给你礼物!!");
else
alert("蒙人呢!");

3、效果演示

参考技术B <a onclick="alert('提示内容')">xx</a>

<script>
function a()

alert("内容")

</script>
<a onclick="a()">xx</a>
参考技术C <a href="http://www.baidu.com" onclick="return confirm('继续吗?');">测试</a> 参考技术D a 里加 onclick=“alert('xx')”

以上是关于Swing组件中,如何用一个BUTTON弹出一个新窗口?的主要内容,如果未能解决你的问题,请参考以下文章

如何用java实现文本域滚动条

如何用JS点击超链接弹出对话框

MFC如何用一button控件选择一幅bmp图片并在picture控件上显示?

如何用JS点击超链接弹出对话框

如何用jdbc在swing中用另一个字段替换外键?

Netflix之后,如何用Spring Cloud 新组件构建微服务架构?