如何使用java创建一个弹出窗口

时间:2014-07-28 06:27:27

标签: java swing jtable jlist

我想要一个显示弹出窗口的按钮,我尝试使用

JOptionPane.showMessageDialog(null,"");

但我不能把我想要的对象,如表和列表。有可能吗?

2 个答案:

答案 0 :(得分:2)

首先仔细查看JOptionPane JavaDocsshowMessageDialog明确指出它接受Object作为消息参数

其中一个不错的功能是,如果ObjectComponent,则会将其添加到对话框中。

例如:JOptionPane displaying HTML problems in JavaHow do i make the output come in different columns?

答案 1 :(得分:2)

Java Docs中的文档记录很少,因为所有这些都告诉你“message”参数是一个Object,它可以是任何东西 - 但不会详细说明不同类型的可能需要特殊案件处理的物品。

据我从实验中收集到的,“消息”可以是组件的子类型 - 然后它将按原样将组件放在对话框的消息区域中,如:

JOptionPane.showMessageDialog(null, new JCheckBox("I'm a checkbox!"));

否则,它只会调用对象上的toString方法,将其转换为字符串,然后将其包装在标签中,并将其作为消息放在对话框中。

但是你也可以传入一个 Array 对象,在这种情况下,它只是将每个元素放在消息区域的一个单独的行中:

JOptionPane.showMessageDialog(null, new Object[] {
    new JCheckBox("check"),
    new JRadioButton("radio"),
    "plain text"});

可能还有其他特殊情况,但我还没有找到它们。

也就是说,如果要显示的是Component(或JComponent)的子类,只需将其作为message参数传递即可。如果没有,您可能想要编辑您的问题以更详细地描述您遇到的任何问题,也许还提供一些示例代码。