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

📄 colorgradient.java

📁 java 的164个例子的源代码,包括了 很多方面,供包括了19个方面的 源代码
💻 JAVA
字号:
/* * Copyright (c) 2000 David Flanagan.  All rights reserved. * This code is from the book Java Examples in a Nutshell, 2nd Edition. * It is provided AS-IS, WITHOUT ANY WARRANTY either expressed or implied. * You may study, use, and modify it for any non-commercial purpose. * You may distribute it non-commercially as long as you retain this notice. * For a commercial use license, or to purchase the book (recommended), * visit http://www.davidflanagan.com/javaexamples2. */package com.davidflanagan.examples.graphics;import java.applet.*;import java.awt.*;/** An applet that demonstrates the Color class */public class ColorGradient extends Applet {    Color startColor, endColor;   // Start and end color of the gradient    Font bigFont;                 // A font we'll use    /**      * Get the gradient start and end colors as applet parameter values, and     * parse them using Color.decode().  If they are malformed, use white.     **/    public void init() {	try {	    startColor = Color.decode(getParameter("startColor"));	    endColor = Color.decode(getParameter("endColor"));	}	catch (NumberFormatException e) {	    startColor = endColor = Color.white;	}	bigFont = new Font("Helvetica", Font.BOLD, 72);    }    /** Draw the applet.  The interesting code is in fillGradient() below */    public void paint(Graphics g) {	fillGradient(this, g, startColor, endColor);  // display the gradient	g.setFont(bigFont);                    // set a font	g.setColor(new Color(100, 100, 200));  // light blue	g.drawString("Colors!", 100, 100);     // draw something interesting    }    /**     * Draw a color gradient from the top of the specified component to the     * bottom.  Start with the start color and change smoothly to the end      **/    public void fillGradient(Component c, Graphics g, Color start, Color end) {	Rectangle bounds = this.getBounds();  // How big is the component?	// Get the red, green, and blue components of the start and end	// colors as floats between 0.0 and 1.0.  Note that the Color class	// also works with int values between 0 and 255	float r1 = start.getRed()/255.0f;	float g1 = start.getGreen()/255.0f;	float b1 = start.getBlue()/255.0f;	float r2 = end.getRed()/255.0f;	float g2 = end.getGreen()/255.0f;	float b2 = end.getBlue()/255.0f;	// Figure out how much each component should change at each y value	float dr = (r2-r1)/bounds.height;	float dg = (g2-g1)/bounds.height;	float db = (b2-b1)/bounds.height;	// Now loop once for each row of pixels in the component	for(int y = 0; y < bounds.height; y++) {	    g.setColor(new Color(r1, g1, b1));    // Set the color of the row	    g.drawLine(0, y, bounds.width-1, y);  // Draw the row	    r1 += dr; g1 += dg; b1 += db;         // Increment color components	}    }}

⌨️ 快捷键说明

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