亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cmsanttaskselectiontreedialog.java

?? cms是開源的框架
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/*
 * File   : $Source: /usr/local/cvs/opencms/src-components/org/opencms/util/ant/CmsAntTaskSelectionTreeDialog.java,v $
 * Date   : $Date: 2006/03/27 14:53:01 $
 * Version: $Revision: 1.3 $
 *
 * This library is part of OpenCms -
 * the Open Source Content Mananagement System
 *
 * Copyright (c) 2005 Alkacon Software GmbH (http://www.alkacon.com)
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * For further information about Alkacon Software GmbH, please see the
 * company website: http://www.alkacon.com
 *
 * For further information about OpenCms, please see the
 * project website: http://www.opencms.org
 * 
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

package org.opencms.util.ant;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.StringTokenizer;

import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.border.Border;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;

/**
 * This is a highly configurable Swing GUI dialog for selection.
 * <p>
 * 
 * @author Michael Moossen (original non-tree version)
 * @author Achim Westermann (modified tree version)
 * 
 * @version $Revision: 1.3 $
 * 
 * @since 6.1.6
 * 
 * @see CmsAntTaskSelectionPrompt
 */
public class CmsAntTaskSelectionTreeDialog extends JDialog implements ActionListener {

    /** Constant for border width. */
    private static final int C_BORDER_SIZE = 10;

    /** Serial version UID required for safe serialization. */
    private static final long serialVersionUID = -8439685952987222098L;

    /** Aborted flag. */
    protected boolean m_aborted = false;

    /** The list of all module names. * */
    private List m_allModuleList;

    /** Border. */
    private final Border m_border = BorderFactory.createEmptyBorder(C_BORDER_SIZE, C_BORDER_SIZE, 0, C_BORDER_SIZE);

    /** Panel for buttons. */
    private final JPanel m_buttons = new JPanel();

    /** Cancel button. */
    private final JButton m_cancel = new JButton("Cancel");

    /** Main Panel. */
    private final JPanel m_content = new JPanel();

    /** Label for prompt. */
    private JLabel m_label = null;

    /** Ok button. */
    private final JButton m_ok = new JButton("Ok");

    /** Associated ant task. */
    private final CmsAntTaskSelectionTreePrompt m_promptTask;

    /** Select all button. */
    private final JButton m_selAll = new JButton("All");

    /** Select none button. */
    private final JButton m_selNone = new JButton("None");

    /** The tree for selection of sets of modudles. . */
    private JTree m_tree;

    /**
     * Default Constructor.
     * <p>
     * 
     * @param promptTask the <code>{@link CmsAntTaskSelectionPrompt}</code> object.
     *            <p>
     */
    public CmsAntTaskSelectionTreeDialog(CmsAntTaskSelectionTreePrompt promptTask) {

        super((JFrame)null, promptTask.getTitle(), true);
        m_promptTask = promptTask;

        m_label = new JLabel(m_promptTask.getPrompt());

        addWindowListener(new WindowAdapter() {

            public void windowClosed(WindowEvent e) {

                setVisible(false);
            }
        });

        getRootPane().setDefaultButton(m_ok);
        Container contentPane = getContentPane();
        contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));

        m_label.setBorder(m_border);
        if (!m_promptTask.isSingleSelection()) {
            JPanel p1 = new JPanel();
            p1.add(new JLabel("Select: "));
            m_selAll.addActionListener(this);
            p1.add(m_selAll);
            m_selNone.addActionListener(this);
            p1.add(m_selNone);
            JPanel p = new JPanel(new BorderLayout());
            p.add(m_label, BorderLayout.NORTH);
            p.add(p1, BorderLayout.SOUTH);
            contentPane.add(p);
        } else {
            getContentPane().add(m_label);
        }

        JScrollPane scrollpane = new JScrollPane(m_content);
        scrollpane.setBorder(m_border);

        scrollpane.setPreferredSize(new Dimension(300, 800));
        // parse the String-list to a clean list as it is not only used for tree-creation but for
        // tree-selection determination too:
        this.parseModuleList();
        TreeModel treeModel = createTree();
        m_tree = new SelectionTree();
        m_tree.setModel(treeModel);
        m_tree.setRootVisible(false);
        m_tree.setShowsRootHandles(true);
        expandTree(new TreePath(treeModel.getRoot()));
        selectDefaultNodes((DefaultMutableTreeNode)treeModel.getRoot(), "", new TreePath(treeModel.getRoot()));

        // layout: let the tree start in upper left edge instead of being centered within the pane
        // - it would start to move as it expands and changes bounds.
        m_content.setLayout(new GridLayout(1, 1));
        m_content.add(m_tree);
        m_content.setBorder(BorderFactory.createLoweredBevelBorder());

        contentPane.add(scrollpane);

        m_buttons.setBorder(BorderFactory.createEmptyBorder(
            C_BORDER_SIZE,
            C_BORDER_SIZE,
            C_BORDER_SIZE / 2,
            C_BORDER_SIZE));
        m_ok.addActionListener(this);
        m_buttons.add(m_ok);
        m_cancel.addActionListener(this);
        m_buttons.add(m_cancel);
        getContentPane().add(m_buttons, BorderLayout.SOUTH);

        pack();
    }

    /**
     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
     */
    public void actionPerformed(ActionEvent e) {

        Object source = e.getSource();
        if (source == m_ok) {
            m_aborted = false;
            setVisible(false);
        } else if (source == m_cancel) {
            m_aborted = true;
            setVisible(false);
        } else if (source == m_selAll) {
            m_tree.setSelectionPath(new TreePath(m_tree.getModel().getRoot()));
        } else if (source == m_selNone) {
            m_tree.clearSelection();
        }
        m_tree.invalidate();
        // m_tree.cancelEditing();
        m_tree.repaint();
    }

    /**
     * Returns <code>null</code> if the dialog was canceled, or a list of selected items if not.
     * <p>
     * 
     * @return the user selection
     */
    public String getSelection() {

        center();
        setVisible(true);

        // Ret is the complete String with all modules separated by ... look at that constant

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩另类国产亚洲欧美一级| av亚洲精华国产精华| 亚洲一区在线观看免费| 亚洲黄一区二区三区| 亚洲色图另类专区| 亚洲国产wwwccc36天堂| 日韩av中文字幕一区二区三区| 亚洲一卡二卡三卡四卡五卡| 亚洲一区二区三区四区在线观看| 亚洲一区在线观看免费| 日韩精品一区第一页| 日日嗨av一区二区三区四区| 久久草av在线| 国产成人夜色高潮福利影视| 成人伦理片在线| 91久久精品国产91性色tv| 欧美丝袜自拍制服另类| 日韩欧美高清在线| 久久久久国产精品麻豆| 亚洲免费视频成人| 亚洲.国产.中文慕字在线| 久久99精品一区二区三区| 成人精品视频网站| 欧美日韩久久一区二区| 久久综合色婷婷| 亚洲天堂免费在线观看视频| 视频一区欧美精品| 国产91清纯白嫩初高中在线观看 | 亚洲国产一区二区在线播放| 亚洲成人tv网| 懂色一区二区三区免费观看| 在线视频观看一区| 久久久一区二区| 亚洲尤物在线视频观看| 国产大片一区二区| 欧美日韩aaa| 中文字幕一区二区三区四区| 日本视频一区二区三区| 99久久免费国产| 日韩免费看网站| 亚洲精品五月天| 国产91露脸合集magnet| 777奇米四色成人影色区| ●精品国产综合乱码久久久久| 老司机精品视频一区二区三区| 91日韩精品一区| 国产日韩欧美一区二区三区乱码| 亚洲国产欧美在线人成| 99久久久国产精品免费蜜臀| 日韩美女在线视频| 亚洲国产精品久久一线不卡| 9人人澡人人爽人人精品| 久久综合色天天久久综合图片| 婷婷中文字幕一区三区| 99精品欧美一区二区三区综合在线| 欧美www视频| 免费三级欧美电影| 欧美美女一区二区在线观看| 亚洲免费在线观看视频| 99久久久久久| 国产精品女同一区二区三区| 国产专区欧美精品| 精品国产成人在线影院| 无码av免费一区二区三区试看| 色一区在线观看| 一区二区三区四区在线免费观看 | 日韩电影免费一区| 在线看日本不卡| 一区二区三区四区激情| 99久久精品国产网站| 亚洲国产精品成人久久综合一区| 看片网站欧美日韩| 精品国产污网站| 九九视频精品免费| 国产亚洲成年网址在线观看| 国产制服丝袜一区| 日本一区二区三区视频视频| 国产成人亚洲综合a∨猫咪| 久久亚洲一区二区三区明星换脸 | 蜜臀精品一区二区三区在线观看| 欧美剧情片在线观看| 午夜激情综合网| 精品欧美黑人一区二区三区| 国产一区二区按摩在线观看| 日本一区二区三区在线观看| 99re成人精品视频| 午夜视频一区二区三区| 日韩欧美一级精品久久| 国产高清不卡一区| 亚洲婷婷综合色高清在线| 欧美在线短视频| 麻豆免费看一区二区三区| 久久这里只有精品6| 成人免费黄色大片| 亚洲一区二区三区四区在线观看 | 国产乱一区二区| 国产精品不卡一区二区三区| 欧美中文字幕一区| 美女视频黄频大全不卡视频在线播放| 2023国产精品自拍| 91小视频在线观看| 卡一卡二国产精品| 亚洲视频在线一区| 欧美男男青年gay1069videost| 国产乱一区二区| 亚洲与欧洲av电影| 国产欧美一区二区精品秋霞影院| 欧美怡红院视频| 高清不卡在线观看| 丝袜美腿亚洲一区二区图片| 中文字幕av一区 二区| 欧美精品一二三| 成人av电影观看| 精品一区二区在线看| 亚洲精品菠萝久久久久久久| 精品国产露脸精彩对白| 色噜噜狠狠成人中文综合| 美女视频一区二区三区| 一区二区三区不卡在线观看 | 99久久国产综合精品色伊| 日产国产高清一区二区三区| 国产精品亲子伦对白| 欧美一级久久久| 色就色 综合激情| 风间由美性色一区二区三区| 美女诱惑一区二区| 亚洲专区一二三| ...av二区三区久久精品| 欧美成人精品1314www| 欧美无人高清视频在线观看| www.成人在线| 成人一区二区三区视频在线观看| 免费一级欧美片在线观看| 亚洲自拍偷拍欧美| 成人欧美一区二区三区小说| 久久久91精品国产一区二区三区| 日韩欧美在线123| 91精品在线一区二区| 欧美亚洲国产一区二区三区| 波多野结衣在线一区| 国产超碰在线一区| 国产一区二区三区免费播放| 美女免费视频一区| 免费av网站大全久久| 午夜电影网亚洲视频| 亚洲国产欧美在线| 亚洲不卡在线观看| 日韩高清不卡一区| 麻豆91小视频| 韩国v欧美v日本v亚洲v| 国产精品一二二区| 国产成人亚洲综合a∨猫咪 | 一区在线观看视频| 中文字幕在线不卡一区| 国产精品国产自产拍高清av| 亚洲欧美影音先锋| 又紧又大又爽精品一区二区| 亚洲乱码国产乱码精品精可以看| 亚洲欧洲成人自拍| 亚洲制服丝袜av| 秋霞成人午夜伦在线观看| 蜜臀av性久久久久蜜臀aⅴ| 国产一区二区主播在线| 国产大片一区二区| 91丨porny丨蝌蚪视频| 在线欧美小视频| 欧美精品久久一区| 久久亚洲综合色| 亚洲色图欧美激情| 日韩经典一区二区| 国产乱子轮精品视频| 91在线视频官网| 337p亚洲精品色噜噜狠狠| 欧美精品一区二区三区蜜臀| 国产精品美女久久久久久久久久久 | 日本成人在线电影网| 精品一区二区免费在线观看| 高清久久久久久| 欧美美女bb生活片| 国产视频911| 亚洲综合精品自拍| 国产一区二区精品久久99| 欧洲国内综合视频| 精品国产一区二区三区不卡| 亚洲欧洲综合另类| 精品亚洲aⅴ乱码一区二区三区| 国产成人午夜电影网| 欧美疯狂做受xxxx富婆| 中文子幕无线码一区tr| 日韩国产高清影视| 99精品视频一区二区三区| 日韩女同互慰一区二区| 一区二区在线观看av| 韩国女主播一区| 69成人精品免费视频| 自拍偷拍国产亚洲| 粉嫩av亚洲一区二区图片| 日韩视频在线永久播放| 一区二区三区视频在线观看| 国产剧情一区在线|