比如我们在安装软件的时候,总会遇到“下一步,下一步”这样的对话框,我想问一下,哪位高手有这方面的实例,能够分享一下的啊?

解决方案 »

  1.   

    可以用多个窗体,或者用JLayeredPane。以前用过这个,挺好用的~具体的下面的链接中有详细的说明。
    http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JLayeredPane.html
      

  2.   

    java没有现成的
    eclipse建工程或类的向导模板一定知道吧?
    照着这个做就可以
    不过需要eclipse插件的相关支持
      

  3.   


    public class Next extends JDialog { private final JPanel contentPanel = new JPanel();
    private JTextField textField;
    private JLabel label;
    private JCheckBox checkBox; public static void main(String[] args) {
    try {
    Next dialog = new Next();
    dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
    dialog.setVisible(true);
    } catch (Exception e) {
    e.printStackTrace();
    }
    } public Next() {
    setBounds(100, 100, 450, 300);
    getContentPane().setLayout(new BorderLayout());
    contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
    getContentPane().add(contentPanel, BorderLayout.CENTER);
    contentPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
    {
    label = new JLabel("姓名:");
    contentPanel.add(label);
    }
    first();
    {
    JPanel buttonPane = new JPanel();
    buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
    getContentPane().add(buttonPane, BorderLayout.SOUTH);
    {
    JButton okButton = new JButton("上一步");
    okButton.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent e) {
    first();
    }
    });
    okButton.setActionCommand("上一步");
    buttonPane.add(okButton);
    getRootPane().setDefaultButton(okButton);
    }
    {
    JButton cancelButton = new JButton("下一步");
    cancelButton.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent e) {
    second();
    }
    });
    cancelButton.setActionCommand("下一步");
    buttonPane.add(cancelButton);
    }
    }
    }

    private void first(){
    if(checkBox!=null){
    contentPanel.remove(checkBox);
    contentPanel.repaint();
    }
    label.setText("姓名:");
    textField = new JTextField();
    contentPanel.add(textField);
    textField.setColumns(10);
    } private void second(){
    if(textField!=null){
    contentPanel.remove(textField);
    contentPanel.repaint();
    }
    label.setText("是否同意:");
    checkBox = new JCheckBox("同意");
    contentPanel.add(checkBox);
    }

    }
      

  4.   

    CardLayout就是用了干这类事的。
      

  5.   

    我用的是多个panel,进行add remove来操作达到上一步和下一步不同的界面