如何使用java创建弹出窗口
我想要一个按钮来显示弹出窗口,我试着使用如何使用java创建弹出窗口,java,swing,jtable,jlist,Java,Swing,Jtable,Jlist,我想要一个按钮来显示弹出窗口,我试着使用 JOptionPane.showMessageDialog(null,""); 但是我不能放置我想要的对象,例如表和列表。有可能吗?首先仔细查看,清楚地表明它接受对象作为消息参数 其中一个很好的特性是,如果对象是组件,它将被添加到对话框中 例如:和首先仔细查看,清楚地表明它接受对象作为消息参数 其中一个很好的特性是,如果对象是组件,它将被添加到对话框中 例如:和这在中的记录非常糟糕,因为所有这些都告诉您“message”参数是一个对象,可以是任何对象-
JOptionPane.showMessageDialog(null,"");
但是我不能放置我想要的对象,例如表和列表。有可能吗?首先仔细查看,清楚地表明它接受
对象作为消息参数
其中一个很好的特性是,如果对象
是组件
,它将被添加到对话框中
例如:和首先仔细查看,清楚地表明它接受对象
作为消息参数
其中一个很好的特性是,如果对象
是组件
,它将被添加到对话框中
例如:和这在中的记录非常糟糕,因为所有这些都告诉您“message”参数是一个对象,可以是任何对象-但没有详细说明不同类型的对象会发生什么情况,这可能需要特殊的案例处理
据我从实验中收集到的信息,“消息”可以是组件的一个子类型,然后它会将组件按原样放置在对话框的消息区域中,如下所示:
JOptionPane.showMessageDialog(null, new JCheckBox("I'm a checkbox!"));
否则,它将只调用对象上的toString方法,将其转换为字符串,然后将其包装在标签中,并将其作为消息放置在对话框中
但您也可以传入一个对象数组,在这种情况下,它只会将每个元素放在消息区域中的一个单独的行中:
JOptionPane.showMessageDialog(null, new Object[] {
new JCheckBox("check"),
new JRadioButton("radio"),
"plain text"});
可能还有其他特殊情况,但我还没有找到
也就是说,如果要显示的是Component(或JComponent)的子类,只需将其作为消息参数传入即可。如果没有,您可能希望编辑您的问题,以更详细地描述遇到的任何问题,也许还提供一些示例代码。这在中的文档记录得很差,因为所有这些都告诉您“message”参数是一个对象,它可以是任何东西,但没有详细说明不同类型的对象会发生什么,可能需要特殊的案例处理
据我从实验中收集到的信息,“消息”可以是组件的一个子类型,然后它会将组件按原样放置在对话框的消息区域中,如下所示:
JOptionPane.showMessageDialog(null, new JCheckBox("I'm a checkbox!"));
否则,它将只调用对象上的toString方法,将其转换为字符串,然后将其包装在标签中,并将其作为消息放置在对话框中
但您也可以传入一个对象数组,在这种情况下,它只会将每个元素放在消息区域中的一个单独的行中:
JOptionPane.showMessageDialog(null, new Object[] {
new JCheckBox("check"),
new JRadioButton("radio"),
"plain text"});
可能还有其他特殊情况,但我还没有找到
也就是说,如果要显示的是Component(或JComponent)的子类,只需将其作为消息参数传入即可。如果没有,您可能希望编辑您的问题,以更详细地描述遇到的任何问题,也许还提供一些示例代码。JOptionPane
+&.JOptionPane
+&。我不知道该数组行为。好电话!:-D@peeskillet:这就是为什么JOptionPane的文档非常非常糟糕的原因,如果您只能通过尝试和错误来发现这些功能的话……我总是在那里扔一个面板(带组件);-)@AndreasBaus哇,这真的帮了大忙,谢谢你花时间回答我的问题:D@peeskillet: ... 如果你想控制组件的布局,你仍然需要这样做:)我不知道数组的行为。好电话!:-D@peeskillet:这就是为什么JOptionPane的文档非常非常糟糕的原因,如果您只能通过尝试和错误来发现这些功能的话……我总是在那里扔一个面板(带组件);-)@AndreasBaus哇,这真的帮了大忙,谢谢你花时间回答我的问题:D@peeskillet: ... 如果您想控制组件的布局,您仍然必须这样做:)