/*
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
*
* - Neither the name of Oracle nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
* This source code is provided to illustrate the usage of a given feature
* or technique and has been deliberately simplified. Additional steps
* required for a production-quality application, such as security checks,
* input validation and proper error handling, might not be present in
* this sample code.
*/
/**
* This class allows you to load a theme from a file.
* It uses the standard Java Properties file format.
* To create a theme you provide a text file which contains
* tags corresponding to colors of the theme along with a value
* for that color. For example:
*
* name=My Ugly Theme
* primary1=255,0,0
* primary2=0,255,0
* primary3=0,0,255
*
* This class only loads colors from the properties file,
* but it could easily be extended to load fonts - or even icons.
*
* @author Steve Wilson
* @author Alexander Kouznetsov
*/
/**
* pass an inputstream pointing to a properties file.
* Colors will be initialized to be the same as the DefaultMetalTheme,
* and then any colors provided in the properties file will override that.
*/
initColors();
}
/**
* Initialize all colors to be the same as the DefaultMetalTheme.
*/
private void initColors() {
primary1 = super.getPrimary1();
primary2 = super.getPrimary2();
primary3 = super.getPrimary3();
secondary1 = super.getSecondary1();
secondary2 = super.getSecondary2();
secondary3 = super.getSecondary3();
}
/**
* Load the theme name and colors from the properties file
* Items not defined in the properties file are ignored
*/
try {
} catch (IOException e) {
}
}
if (colorString != null) {
}
if (colorString != null) {
}
if (colorString != null) {
}
if (colorString != null) {
}
if (colorString != null) {
}
if (colorString != null) {
}
if (colorString != null) {
}
if (colorString != null) {
}
}
return name;
}
return primary1;
}
return primary2;
}
return primary3;
}
return secondary1;
}
return secondary2;
}
return secondary3;
}
return black;
}
return white;
}
/**
* parse a comma delimited list of 3 strings into a Color
*/
int red = 0;
int green = 0;
int blue = 0;
try {
} catch (Exception e) {
}
}
}