/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ro.nextreports.designer.ui.wizard.demo; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.util.List; import javax.swing.JCheckBox; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextPane; import ro.nextreports.designer.ui.wizard.WizardPanel; /** * An implementation of the base class used for implementing a panel that is * displayed in a Wizard. Shows some sample license data. * * @author Decebal Suiu */ public class LicenseWizardPanel extends WizardPanel { private String license = "If you agree to this license, please " + "choose 'I agree'.\n" + "If you don't agree, then you won't be able to continue."; private JCheckBox accept; private final WizardPanel chooseFile = new ChooseFileWizardPanel(); public LicenseWizardPanel() { super(); banner.setTitle("License"); initComponents(); } /** * Called when the panel is set. */ public void onDisplay() { } /** * Is there be a next panel? * * @return true if there is a panel to move to next */ public boolean hasNext() { return true; } /** * Called to validate the panel before moving to next panel. * * @param messages a List of messages to be displayed. * @return true if the panel is valid, */ public boolean validateNext(List<String> messages) { if (!accept.isSelected()) { messages.add("Please accept the license to continue."); return false; } return true; } /** * Get the next panel to go to. */ public WizardPanel getNextPanel() { return chooseFile; } /** * Can this panel finish the wizard? * * @return true if this panel can finish the wizard. */ public boolean canFinish() { return false; } /** * Called to validate the panel before finishing the wizard. Should return * false if canFinish returns false. * * @param messages a List of messages to be displayed. * @return true if it is valid for this wizard to finish. */ public boolean validateFinish(List<String> messages) { return false; } /** * Handle finishing the wizard. */ public void onFinish() { } private void initComponents() { setLayout(new BorderLayout()); JTextPane textPane = new JTextPane(); textPane.setEditable(false); textPane.setText(license); add(new JScrollPane(textPane), BorderLayout.CENTER); JPanel agreePanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 0)); agreePanel.add(accept = new JCheckBox("I agree")); add(agreePanel, BorderLayout.SOUTH); } }