Package jexifviewer

Source Code of jexifviewer.JColChooserDialog

/*
*  JColChooserDialog.java
*
*  Created on 14. April 2006, 22:26
*
*  Copyright (C) 14. April 2006  <Reiner>

*  This program is free software; you can redistribute it and/or modify
*  it under the terms of the GNU General Public License as published by
*  the Free Software Foundation; either version 2 of the License, or
*  (at your option) any later version.
*
*  This program 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 General Public License for more details.
*
*  You should have received a copy of the GNU General Public License
*  along with this program; if not, write to the Free Software
*  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
*/


package jexifviewer;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;

import javax.swing.BoxLayout;
import javax.swing.Box;
import javax.swing.border.EmptyBorder;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JButton;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import java.util.Arrays;
import java.util.Comparator;
import shared.cvshelper.Cvs;

/**
*
* @author reiner
*/

@Cvs
(
    header = "$Header: /home/reiner/cvs/Java/JExifViewer/src/jexifviewer/JColChooserDialog.java,v 1.4 2010/04/02 12:12:13 reiner Exp $"
)
public final class JColChooserDialog extends JDialog
{
    private JComboBox m_comboBox = new JComboBox();
    private boolean m_bOk = false;
   
    public boolean isOk()
    {
        return m_bOk;
    }

    /** Creates a new instance of JColChooserDialog */
    public JColChooserDialog(JMainFrame frame, JColChooserData[] dataArray)
    {
        super(frame, true);
        setTitle(Main.getString("colchooser_caption"));
        Container cp = getContentPane();
        cp.setLayout(new BorderLayout());
        JPanel panel = new JPanel();
        Arrays.sort(dataArray, new JColChooserDataComparator(true));
        for (JColChooserData data : dataArray)
        {
            m_comboBox.addItem(data);
        }
        m_comboBox.setBorder(new EmptyBorder(10, 0, 0, 0));
        Dimension dim = m_comboBox.getPreferredSize();
        m_comboBox.setPreferredSize(new Dimension(200, (int)dim.getHeight()));
        panel.add(m_comboBox);

        JPanel panel2 = new JPanel();
        panel2.setLayout(new BoxLayout(panel2, BoxLayout.X_AXIS));
        panel2.setBorder(new EmptyBorder(5, 0, 10, 10));
        panel2.add(Box.createHorizontalGlue());

        JButton ok = new JButton(Main.getString("ok"));
        ok.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent ev)
            {
                m_bOk = true;
                dispose();
                }
        });
        dim = ok.getPreferredSize();
        ok.setPreferredSize(new Dimension(100, (int)dim.getHeight()));
        panel2.add(ok);
        panel2.add(Box.createRigidArea(new Dimension(5, 0)));

        JButton cancel = new JButton(Main.getString("cancel"));
        cancel.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent ev)
            {
                dispose();
            }
        });
        dim = cancel.getPreferredSize();
        cancel.setPreferredSize(new Dimension(100, (int)dim.getHeight()));
        panel2.add(cancel);

        cp.add(panel, BorderLayout.NORTH);
        cp.add(panel2, BorderLayout.SOUTH);

        setPreferredSize(new Dimension(240, 130));
        setResizable(false);
        setLocationRelativeTo(frame);
        pack();
    }
   
    public JColChooserData getSelectedItem()
    {
      return (JColChooserData)m_comboBox.getSelectedItem();
    }
}

class JColChooserDataComparator implements Comparator<JColChooserData>
{
    private boolean m_bUp;
   
    public JColChooserDataComparator(boolean bUp)
    {
      m_bUp = bUp;
    }
   
    public boolean getSortUp()
    {
        return m_bUp;
    }

    public int compare(JColChooserData data1, JColChooserData data2)
    {
      int h = data1.m_string.compareTo(data2.m_string);
        return (m_bUp ? h : -h);
    }
   
    public boolean equals(Object obj)
    {
        boolean flag = false;

        if (obj instanceof JColChooserDataComparator)
        {
            JColChooserDataComparator comp = (JColChooserDataComparator)obj;
            if (comp.getSortUp() == getSortUp())
            flag = true;
        }
        return flag;
    }
}

final class JColChooserData
{
    public String m_string;
    public int m_modelColIndex;

    JColChooserData(String str, int col)
    {
        m_string = str;
        m_modelColIndex = col;
    }

    public String toString()
    {
      return m_string;
    }
}
TOP

Related Classes of jexifviewer.JColChooserDialog

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.