www.pudn.com > DomView.zip > HelpLicenseDialog.java
/********************************************************************
Domview 1.0 displays contents of an XML DOM object
Copyright (C) 1999 The Bean Factory, LLC.
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Author: Sun Koh, The Bean Factory, LLC.
*******************************************************************/
import java.awt.*; //AWT classes
import java.awt.event.*; //AWT event classes
import java.util.*; //Vectors, etc
import java.io.*; //Serializable, etc
import java.net.*; //Network classes
import javax.swing.*; //Swing classes
import javax.swing.event.*; //Swing events
import javax.swing.table.*; //JTable models
import javax.swing.tree.*; //JTree models
import javax.swing.border.*; //JComponent Borders
/********************************************************************
HelpLicenseDialog displays the GNU license information
@version : 1.0
@author : Sun Koh
********************************************************************/
public class HelpLicenseDialog
extends JDialog
implements java.io.Serializable {
//
// Data Members
//
protected static final String message =
new String (
"GNU GENERAL PUBLIC LICENSE\n\n"+
"Version 2, June 1991\n\n"+
"Copyright (C) 1989, 1991 Free Software Foundation, Inc. "+
"59 Temple Place - Suite 330, Boston, MA 02111-1307, USA\n\n"+
"Everyone is permitted to copy and distribute verbatim copies "+
"of this license document, but changing it is not allowed.\n\n"+
"Preamble\n\n"+
"The licenses for most software are designed to take "+
"away your freedom to share and change it. By contrast, "+
"the GNU General Public License is intended to guarantee "+
"your freedom to share and change free "+
"software--to make sure the software is free for all its "+
"users. This General Public License applies to most of "+
"the Free Software Foundation's software and to any other "+
"program whose authors commit to using it. (Some "+
"other Free Software Foundation software is covered by "+
"the GNU Library General Public License instead.) "+
"You can apply it to your programs, too.\n\n"+
"When we speak of free software, we are referring to "+
"freedom, not price. Our General Public Licenses are "+
"designed to make sure that you have the freedom to "+
"distribute copies of free software (and charge for this "+
"service if you wish), that you receive source code or "+
"can get it if you want it, that you can change the "+
"software or use pieces of it in new free programs; and "+
"that you know you can do these things.\n\n"+
"To protect your rights, we need to make restrictions that "+
"forbid anyone to deny you these rights or to ask you "+
"to surrender the rights. These restrictions translate to "+
"certain responsibilities for you if you distribute copies "+
"of the software, or if you modify it.\n\n"+
"For example, if you distribute copies of such a program, "+
"whether gratis or for a fee, you must give the "+
"recipients all the rights that you have. You must make "+
"sure that they, too, receive or can get the source code. "+
"And you must show them these terms so they know their rights.\n\n"+
"We protect your rights with two steps: (1) copyright the "+
"software, and (2) offer you this license which gives "+
"you legal permission to copy, distribute and/or modify "+
"the software.\n\n"+
"Also, for each author's protection and ours, we want to make "+
"certain that everyone understands that there is "+
"no warranty for this free software. If the software "+
"is modified by someone else and passed on, we want its "+
"recipients to know that what they have is not the original, "+
"so that any problems introduced by others will not "+
"reflect on the original authors' reputations.\n\n"+
"Finally, any free program is threatened constantly by "+
"software patents. We wish to avoid the danger that "+
"redistributors of a free program will individually obtain "+
"patent licenses, in effect making the program "+
"proprietary. To prevent this, we have made it clear that "+
"any patent must be licensed for everyone's free use "+
"or not licensed at all.\n\n"+
"The precise terms and conditions for copying, "+
"distribution and modification follow.\n\n"+
"TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION\n"+
"AND MODIFICATION\n\n"+
"0. This License applies to any program or other work "+
"which contains a notice placed by the copyright "+
"holder saying it may be distributed under the terms "+
"of this General Public License. The 'Program', below, "+
"refers to any such program or work, and a 'work based "+
"on the Program' means either the Program or any "+
"derivative work under copyright law: that is to say, "+
"a work containing the Program or a portion of it, either "+
"verbatim or with modifications and/or translated into "+
"another language. (Hereinafter, translation is included "+
"without limitation in the term 'modification'.) Each "+
"licensee is addressed as 'you'.\n\n"+
"Activities other than copying, distribution and modification "+
"are not covered by this License; they are outside "+
"its scope. The act of running the Program is not restricted, "+
"and the output from the Program is covered only "+
"if its contents constitute a work based on the Program "+
"(independent of having been made by running the "+
"Program). Whether that is true depends on what "+
"the Program does.\n\n"+
"1. You may copy and distribute verbatim copies of the "+
"Program's source code as you receive it, in any "+
"medium, provided that you conspicuously and appropriately "+
"publish on each copy an appropriate copyright "+
"notice and disclaimer of warranty; keep intact all the "+
"notices that refer to this License and to the absence of "+
"any warranty; and give any other recipients of the Program "+
"a copy of this License along with the Program.\n\n"+
"You may charge a fee for the physical act of transferring a "+
"copy, and you may at your option offer warranty "+
"protection in exchange for a fee.\n\n"+
"2. You may modify your copy or copies of the Program or "+
"any portion of it, thus forming a work based on "+
"the Program, and copy and distribute such modifications or "+
"work under the terms of Section 1 above, "+
"provided that you also meet all of these conditions:\n\n"+
"a) You must cause the modified files to carry prominent "+
"notices stating that you changed the files and "+
"the date of any change.\n\n"+
"b) You must cause any work that you distribute or publish, "+
"that in whole or in part contains or is "+
"derived from the Program or any part thereof, to be licensed "+
"as a whole at no charge to all third parties "+
"under the terms of this License.\n\n"+
"c) If the modified program normally reads commands "+
"interactively when run, you must cause it, when "+
"started running for such interactive use in the most "+
"ordinary way, to print or display an announcement "+
"including an appropriate copyright notice and a notice "+
"that there is no warranty (or else, saying that you "+
"provide a warranty) and that users may redistribute the "+
"program under these conditions, and telling the "+
"user how to view a copy of this License. (Exception: if "+
"the Program itself is interactive but does not "+
"normally print such an announcement, your work based on "+
"the Program is not required to print an "+
"announcement.)\n\n"+
"These requirements apply to the modified work as a whole. If "+
"identifiable sections of that work are not "+
"derived from the Program, and can be reasonably considered "+
"independent and separate works in "+
"themselves, then this License, and its terms, do not apply "+
"to those sections when you distribute them as "+
"separate works. But when you distribute the same sections "+
"as part of a whole which is a work based on the "+
"Program, the distribution of the whole must be on the terms "+
"of this License, whose permissions for other "+
"licensees extend to the entire whole, and thus to each and "+
"every part regardless of who wrote it.\n\n"+
"Thus, it is not the intent of this section to claim rights or"+
"contest your rights to work written entirely by you; "+
"rather, the intent is to exercise the right to control the "+
"distribution of derivative or collective works based "+
"on the Program.\n\n"+
"In addition, mere aggregation of another work not based "+
"on the Program with the Program (or with a work "+
"based on the Program) on a volume of a storage or "+
"distribution medium does not bring the other work under "+
"the scope of this License.\n\n"+
"3. You may copy and distribute the Program (or a work based "+
"on it, under Section 2) in object code or "+
"executable form under the terms of Sections 1 and 2 above "+
"provided that you also do one of the following:\n\n"+
"a) Accompany it with the complete corresponding "+
"machine-readable source code, which must be "+
"distributed under the terms of Sections 1 and 2 "+
"above on a medium customarily used for software "+
"interchange; or,\n\n"+
"b) Accompany it with a written offer, valid for at least "+
"three years, to give any third party, for a charge "+
"no more than your cost of physically performing source "+
"distribution, a complete machine-readable "+
"copy of the corresponding source code, to be distributed "+
"under the terms of Sections 1 and 2 above on "+
"a medium customarily used for software interchange; or,\n\n"+
"c) Accompany it with the information you received as to "+
"the offer to distribute corresponding source "+
"code. (This alternative is allowed only for noncommercial "+
"distribution and only if you received the "+
"program in object code or executable form with such an "+
"offer, in accord with Subsection b above.)\n\n"+
"The source code for a work means the preferred form of the "+
"work for making modifications to it. For an "+
"executable work, complete source code means all the source "+
"code for all modules it contains, plus any "+
"associated interface definition files, plus the scripts used "+
"to control compilation and installation of the "+
"executable. However, as a special exception, the source code "+
"distributed need not include anything that is "+
"normally distributed (in either source or binary form) with "+
"the major components (compiler, kernel, and so "+
"on) of the operating system on which the executable runs, "+
"unless that component itself accompanies the "+
"executable.\n\n"+
"If distribution of executable or object code is made by "+
"offering access to copy from a designated place, then "+
"offering equivalent access to copy the source code from the "+
"same place counts as distribution of the source "+
"code, even though third parties are not compelled to copy "+
"the source along with the object code.\n\n"+
"4. You may not copy, modify, sublicense, or distribute the "+
"Program except as expressly provided under this "+
"License. Any attempt otherwise to copy, modify, sublicense "+
"or distribute the Program is void, and will "+
"automatically terminate your rights under this License. However, "+
"parties who have received copies, or "+
"rights, from you under this License will not have their licenses "+
"terminated so long as such parties remain in "+
"full compliance.\n\n"+
"5. You are not required to accept this License, since you "+
"have not signed it. However, nothing else grants "+
"you permission to modify or distribute the Program or its "+
"derivative works. These actions are prohibited by "+
"law if you do not accept this License. Therefore, by modifying "+
"or distributing the Program (or any work "+
"based on the Program), you indicate your acceptance of this "+
"License to do so, and all its terms and "+
"conditions for copying, distributing or modifying the Program "+
"or works based on it.\n\n"+
"6. Each time you redistribute the Program (or any work based "+
"on the Program), the recipient automatically "+
"receives a license from the original licensor to copy, distribute "+
"or modify the Program subject to these terms "+
"and conditions. You may not impose any further restrictions "+
"on the recipients' exercise of the rights granted "+
"herein. You are not responsible for enforcing compliance by "+
"third parties to this License.\n\n"+
"7. If, as a consequence of a court judgment or allegation of "+
"patent infringement or for any other reason (not "+
"limited to patent issues), conditions are imposed on you "+
"(whether by court order, agreement or otherwise) "+
"that contradict the conditions of this License, they do not "+
"excuse you from the conditions of this License. If "+
"you cannot distribute so as to satisfy simultaneously your "+
"obligations under this License and any other "+
"pertinent obligations, then as a consequence you may not "+
"distribute the Program at all. For example, if a "+
"patent license would not permit royalty-free redistribution "+
"of the Program by all those who receive copies "+
"directly or indirectly through you, then the only way you "+
"could satisfy both it and this License would be to "+
"refrain entirely from distribution of the Program.\n\n"+
"If any portion of this section is held invalid or unenforceable "+
"under any particular circumstance, the balance "+
"of the section is intended to apply and the section as a whole "+
"is intended to apply in other circumstances.\n\n"+
"It is not the purpose of this section to induce you to infringe "+
"any patents or other property right claims or to "+
"contest validity of any such claims; this section has the sole "+
"purpose of protecting the integrity of the free "+
"software distribution system, which is implemented by public "+
"license practices. Many people have made "+
"generous contributions to the wide range of software distributed "+
"through that system in reliance on "+
"consistent application of that system; it is up to the "+
"author/donor to decide if he or she is willing to "+
"distribute software through any other system and a licensee "+
"cannot impose that choice.\n\n"+
"This section is intended to make thoroughly clear what is "+
"believed to be a consequence of the rest of this "+
"License.\n\n"+
"8. If the distribution and/or use of the Program is restricted "+
"in certain countries either by patents or by "+
"copyrighted interfaces, the original copyright holder who places "+
"the Program under this License may add an "+
"explicit geographical distribution limitation excluding those "+
"countries, so that distribution is permitted only "+
"in or among countries not thus excluded. In such case, this "+
"License incorporates the limitation as if written "+
"in the body of this License.\n\n"+
"9. The Free Software Foundation may publish revised and/or new "+
"versions of the General Public License "+
"from time to time. Such new versions will be similar in spirit "+
"to the present version, but may differ in detail "+
"to address new problems or concerns.\n\n"+
"Each version is given a distinguishing version number. If the "+
"Program specifies a version number of this "+
"License which applies to it and 'any later version', you have "+
"the option of following the terms and "+
"conditions either of that version or of any later version "+
"published by the Free Software Foundation. If the "+
"Program does not specify a version number of this License, "+
"you may choose any version ever published by "+
"the Free Software Foundation.\n\n"+
"10. If you wish to incorporate parts of the Program into "+
"other free programs whose distribution conditions "+
"are different, write to the author to ask for permission. "+
"For software which is copyrighted by the Free "+
"Software Foundation, write to the Free Software Foundation; "+
"we sometimes make exceptions for this. Our "+
"decision will be guided by the two goals of preserving the "+
"free status of all derivatives of our free software "+
"and of promoting the sharing and reuse of software generally.\n\n"+
"NO WARRANTY\n\n"+
"11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR "+
"THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN "+
"OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES "+
"PROVIDE THE PROGRAM 'AS IS' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED "+
"OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF "+
"MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO "+
"THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM "+
"PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR "+
"CORRECTION.\n\n"+
"12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL "+
"ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR "+
"REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, "+
"INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING "+
"OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO "+
"LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU "+
"OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER "+
"PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE "+
"POSSIBILITY OF SUCH DAMAGES." );
//
// Methods
//
/**
Default Constructor
@param d DomView frame
*/
public HelpLicenseDialog(DomView mainFrame){
this.setTitle("License");
this.setModal(true);
Container c = this.getContentPane();
JTextArea ta = new JTextArea();
ta.setLineWrap(true);
ta.setWrapStyleWord(true);
ta.setEditable(false);
ta.setText(message);
JPanel p = new JPanel(new FlowLayout(FlowLayout.CENTER));
JButton btn = new JButton(" OK ");
btn.addActionListener(new OkAction(this));
p.add(btn);
c.setLayout(new BorderLayout());
c.add(p, BorderLayout.SOUTH);
c.add(new JScrollPane(ta), BorderLayout.CENTER);
pack();
setLocationRelativeTo(mainFrame);
show();
} //end method
/**
Return preferrred size of this panel
@return a dimension of the panel
*/
public Dimension getPreferredSize(){
return new Dimension(500, 300);
}
/**
Return minimun size of this panel
@return a dimension of the panel
*/
public Dimension getMinimunSize(){
return getPreferredSize();
}
/**
Cancel Action inner class
*/
protected class OkAction implements ActionListener {
HelpLicenseDialog dialog;
public OkAction(HelpLicenseDialog f){
dialog = f;
}
/**
* Invoked when an action occurs.
*/
public void actionPerformed(ActionEvent e) {
dialog.dispose();
}
}
}//end of Dialog class