⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rampkey.java

📁 geotools的源码
💻 JAVA
字号:
package uk.ac.leeds.ccg.geotools;

import uk.ac.leeds.ccg.geotools.misc.*;
import java.beans.*;
import java.awt.*;
import java.awt.image.*;

public class RampKey extends uk.ac.leeds.ccg.geotools.Key
{
    KeyBar bar;   
    Label top=new Label("0"),bottom=new Label("0");
     
	
	
	public RampKey(Shader s){
	    super(s);
        setLayout(new BorderLayout());
        top = new Label("0");
        bottom = new Label("0");
        add(top,"North");
        add(bottom,"South");
        bar = new KeyBar(shader);
        bar.setShader(s);
        add(bar,"Center");
        updateKey();
    }
    
    public void setShader(Shader s){
        super.setShader(s);
    }
    
    public void updateLabels(){
        //System.out.println("Updating label"+(shader.getRange()[1]));
        top.setText(""+FormatedString.format(shader.getRange()[0]));
        bottom.setText(""+FormatedString.format(shader.getRange()[1]));
    }
    
    
    class KeyBar extends Component{
        Shader shade;
        
    
		public KeyBar(Shader s){
		    shade =s;
		}
		
		public Dimension getPreferredSize() {
	        Dimension dim = new Dimension(10,100);
    	    return dim;
        }
		
		public void setShader(Shader s){
		    this.shade=s;
		    updateLabels();
		}
		
		public void paint(Graphics g){
			//System.out.println("Painting ");
			if(shade==null) return;
			int h=this.getSize().height;
			int w=this.getSize().width;
			int data[]=new int[h*w];
			int pt=0;
			MemoryImageSource source;
			Image image;
			double [] range=shade.getRange();
			double min=range[0];
			double max=range[1];

			double k;

			//System.out.println("key size "+w+" "+h);
			//System.out.println("key range "+min+" "+max);
			for (int i=0;i<h;i++){
				k=(((max-min)/(double)h)*(double)i+min);
				for (int j=0; j<w;j++){
					if(shade != null){
						data[pt++]=shade.getRGB(k);
					} else{
						data[pt++]=new Color(Math.min(255,(int)k),0,0).getRGB();
					}
				}
			}
				source = new MemoryImageSource(w,h,data,0,w);
				image = this.createImage(source);
				boolean fred = g.drawImage(image,0,0,
						w,h,new Color(255,255,255),new Canvas());
				//image=null;

		}
}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -