当前位置: 首页 > 面试题库 >

创建Java对话框

尉迟高澹
2023-03-14
问题内容

创建对话框的最简单方法是:

  • 在一个窗口中,我提供用于信封寻址的数据,还从尺寸列表中设置字体类型
  • 当单击“确定”时,在同一窗口或下一个窗口中,我将预览到给定名称和使用所选字体大小后的信封外观

它的外观应类似于:

替代文字http://img15.imageshack.us/img15/7355/lab10aa.gif

我应该使用Jdialog吗?还是JOptionPane就足够了?下一步将是选择字体和背景的颜色,因此我必须牢记这一点。


问题答案:

如果您需要使用JOptionPane:

import java.awt.*;
import javax.swing.*;

public class Main extends JFrame {

    private static JTextField nameField = new JTextField(20);
    private static JTextField surnameField = new JTextField();
    private static JTextField addr1Field = new JTextField();
    private static JTextField addr2Field = new JTextField();
    private static JComboBox sizes = new JComboBox(new String[] { "small", "medium", "large", "extra-large" });

    public Main(){
        JPanel mainPanel = new JPanel();
        mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
        getContentPane().add(mainPanel);

        JPanel addrPanel = new JPanel(new GridLayout(0, 1));
        addrPanel.setBorder(BorderFactory.createTitledBorder("Receiver"));
        addrPanel.add(new JLabel("Name"));
        addrPanel.add(nameField);
        addrPanel.add(new JLabel("Surname"));
        addrPanel.add(surnameField);
        addrPanel.add(new JLabel("Address 1"));
        addrPanel.add(addr1Field);
        addrPanel.add(new JLabel("Address 2"));
        addrPanel.add(addr2Field);
        mainPanel.add(addrPanel);
        mainPanel.add(new JLabel(" "));
        mainPanel.add(sizes);

        String[] buttons = { "OK", "Cancel"};

        int c = JOptionPane.showOptionDialog(
                null,
                mainPanel,
                "My Panel",
                JOptionPane.DEFAULT_OPTION,
                JOptionPane.PLAIN_MESSAGE,
                null,
                buttons,
                buttons[0]
         );

        if(c ==0){
            new Envelope(nameField.getText(), surnameField.getText(), addr1Field.getText()
                    , addr2Field.getText(), sizes.getSelectedIndex());
        }

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        pack();
        setVisible(true);
    }

    public static void main(String[] args) {
        new Main();
    }
}


 类似资料:
  • 我正在编写一个javafx程序,我需要创建和使用我自己的Stage based (Javafx。Stage)对话框,用于显示消息和确认。到目前为止,我已经编写了所有必要的代码,但是我有一个问题: 对话框必须停止执行其余代码,直到给出类似“是”或“否”或“重试”之类的响应。当我使用我的对话框,如“DialogBox.ShowMessage”时,会出现一个带有消息和按钮的阶段。但是,正如您可能认为的那

  • 通过给指向页面的链接增加data-rel="dialog"的属性,可以把任何指向的页面表现对对话框。当应用了对话框的属性之后,qjmobile框架会给新页面增加圆角,页面周围增加margin,以及深色的背景,使得对话框浮在页面之上 HTML 代码: <a href="foo.html" data-rel="dialog">Open dialog</a> 对话框的转场 Transitions 因为

  • 问题内容: 我在JFrame上有一个按钮,当单击该按钮时,我希望对话框弹出并带有多个文本区域供用户输入。我一直在四处寻找解决方法,但是我一直感到困惑。有人可以帮忙吗? 问题答案: 如果您不需要太多自定义行为,则JOptionPane可以节省大量时间。它负责OK / Cancel选项的放置和本地化,并且是一种无需定义自己的类即可显示自定义对话框的快捷方法。大多数情况下,JOptionPane中的“

  • 有什么想法吗?提前感谢! 解决方案

  • 问题内容: 我是android开发的新手。我想在我的应用程序中使用开发一个。当我单击“搜索”按钮时,应当与一起出现,表明在切换到另一个按钮之前进度一直在进行。请给我推荐示例代码。 问题答案: 使用。不过,您应该在new上进行工作,并在完成时使用a 回调到。这是我的方法:

  • 问题内容: 我正在使用primefaces 3.3.1和JSF 2(Mojarra 2.1.9)。 我有一个包含DataTable组件和Dialog的页面,以显示DataTable条目的详细信息。当我有一个对话框时,这非常简单。我要尝试允许用户同时打开两个或三个带有不同条目详细信息的dailog。有人知道如何从服务器获取整个AJAX对话框,而不仅仅是对话框内容吗? 问题答案: 是的,我做到了。为此