NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hi Everyone, I was doing something like (lat, lon)->height, with height mapped to Display.Text. This worked ok, and I could even colour it with my favorite colour. Then I did a setFont() on the textControl, and apart from setting the font properly, it turned my text white! This is not seen when I rewrite my program to have n->(lat, lon, height). Attached is a sample program to show this. Uncomment the setFont() line to turn the text white. Have I got something wrong here, or is this a bug? thanks, Andrew. -- Andrew Donaldson Email: A.Donaldson@xxxxxxxxxx Bureau of Meteorology Phone: +61 3 9669 4537 P.O. Box. 1289K/150 Lonsdale St, Fax: +61 3 9669 4128 Melbourne, Australia.
import visad.*; import visad.java3d.DisplayImplJ3D; import java.rmi.RemoteException; import java.awt.*; import javax.swing.*; public class WhiteText { public WhiteText (String []args) throws RemoteException, VisADException { RealType heightType = new RealType("height"); DisplayImpl display = new DisplayImplJ3D("display1"); // Maps display.addMap(new ScalarMap(RealType.Latitude, Display.XAxis)); display.addMap(new ScalarMap(RealType.Longitude, Display.YAxis)); ScalarMap heightScalarMap = new ScalarMap(heightType, Display.Text); display.addMap(heightScalarMap); // Domain RealType[] domainTypes = { RealType.Latitude, RealType.Longitude }; RealTupleType domainTuple = new RealTupleType(domainTypes); int numSamples = 1; double[][] domainSamples = new double[2][numSamples]; int i=0; domainSamples[0][i] = -42.0; domainSamples[1][i] = 142.0; // Assemble domain set Gridded2DDoubleSet domainSet = new Gridded2DDoubleSet( domainTuple, domainSamples, numSamples); // Function FunctionType function = new FunctionType( domainTuple, heightType); // Make the field FieldImpl field = new FlatField(function, domainSet); // Range float[][] rangeSamples = new float[1][numSamples]; rangeSamples[0][i] = 123.4f; field.setSamples(rangeSamples); DataReferenceImpl data_ref = new DataReferenceImpl("data_ref"); data_ref.setData(field); TextControl tcontrol = (TextControl) heightScalarMap.getControl(); // Add add this line to make text white! // tcontrol.setFont(new Font("Arial", Font.PLAIN, 6)); ConstantMap[] newConstantMap = { new ConstantMap(0.0f, Display.Red), new ConstantMap(1.0f,Display.Green), new ConstantMap(1.0f, Display.Blue) }; display.addReferences(new visad.java3d.DefaultRendererJ3D(), data_ref, newConstantMap); // Create application window, put display into it JFrame jframe = new JFrame("WhiteText"); jframe.getContentPane().add(display.getComponent()); // Set window size and make it visible jframe.setSize(300, 300); jframe.setVisible(true); } public static void main(String[] args) throws RemoteException, VisADException { new WhiteText(args); } }
visad
archives: