真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java漸變代碼,漸變字代碼

誰幫我講解下這個java代碼

這個比較簡單,沒啥東西,就是每列開始行的選擇,有點繞彎,我就注釋下GraphicsPanel吧,主要的繪制工作都在這個類里面

創(chuàng)新互聯(lián)從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計制作、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元叢臺做網(wǎng)站,已為上家服務(wù),為叢臺各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220

private?class?GraphicsPanel?extends?JPanel?{

public?void?paint(Graphics?g)?{

Graphics2D?g2d?=?(Graphics2D)?g;

g2d.?setFont?(getFont?().?deriveFont?(Font.?BOLD));

g2d.?setColor(Color.?BLACK);

g2d.?fillRect?(0,?0,?screenSize.?width,?screenSize.?height);???//?設(shè)置背景色為黑色

int?currentColumn?=?0;

for?(int?x?=?0;?x??screenSize.width;?x?+=?gap)?{

int?endPos?=?posArr[currentColumn];??????//獲得開始行位置

g2d.?setColor(Color.?GREEN);

g2d.drawString(String.valueOf(getChr()),?x,?endPos?*?gap);?????//畫出隨機開始行的字符

int?cg?=?0;???????????????????????????????????????????????????????????//初始黑色

for?(int?j?=?endPos?-16;?j??endPos;?j++)?{???????????//隨機行逐列向上16行,為循環(huán)開始行

cg?+=?15;?????????????????????????????????????????????????????//漸變色15遞增,255為green

if?(cg??255)?{

cg?=?255;

}

g2d.setColor(new?Color(0,?cg,?0));

g2d.drawString(String.valueOf(getChr()),?x,?j?*?gap);????//畫出隨機行后的15行字符,顏色從黑色漸變成綠色,逐行增加

}

posArr[currentColumn]?+=?random.nextInt(5);??????//下落距離最快為4

if?(posArr[currentColumn]?*?gap??getHeight())?{??//如果行數(shù)位置大于屏幕高度,從新獲取合適的行

posArr[currentColumn]?=?random.nextInt(lines);

}

currentColumn++;????//下一列獲取隨機行

}

怎么用Java多線程實現(xiàn)面板顏色漸變;麻煩給你具體例子。

用定時器不行么?

順便寫了個,參考而已

import javax.swing.JFrame;

import javax.swing.JButton;

import javax.swing.Timer;

import javax.swing.*;

import java.awt.event.*;

import java.awt.*;

import java.awt.event.ActionListener;

public class TestA extends JFrame implements ActionListener {

//-----要實現(xiàn)ActionListener接口

public Timer t;

public JButton jb;

//-----一個定時器一個按鈕用來顯示變色效果

public int red = 0;

public int green = 0;

public int blue = 0;

public TestA() {

jb = new JButton("test");

jb.setBackground(Color.BLUE);

//-----定時器設(shè)置為0.2秒觸發(fā)1次事件

t = new Timer(200, this);

this.setSize(200, 200);

this.getContentPane().add(jb);

this.setVisible(true);

//-----定時器開始運行

this.t.start();

}

public void actionPerformed(ActionEvent e) {

red += 5;

green += 10;

blue += 15;

red %= 255;

green %= 255;

blue %= 255;

//-----三種顏色按你所需搞個漸變的規(guī)則

this.jb.setBackground(new Color(red, green, blue));

this.jb.setVisible(true);

}

public static void main(String[] _s) {

TestA a = new TestA();

}

}

給你需要變色的元件掛個定時器。

java 在默認黑色背景下畫出一個隨即色彩的漸變圓

您好,現(xiàn)給你一個簡單MFC對話框例子,工程名為TEXT:

(1)Text.h:

class CTextApp : public CWinApp

{

public:

CTextApp();

~CTextApp();

// 重寫

public:

virtual BOOL InitInstance();

ULONG_PTR gdiplusToken;

// 實現(xiàn)

DECLARE_MESSAGE_MAP()

};

extern CTextApp theApp;

注:ULONG_PTR gdiplusToken; ~CTextApp(); 為新添加的東西

(2)Text.cpp里

CTextApp::~CTextApp()

{

//GDI+釋放

GdiplusShutdown(gdiplusToken);

}

BOOL CTextApp::InitInstance()

{

// 如果一個運行在 Windows XP 上的應(yīng)用程序清單指定要

// 使用 ComCtl32.dll 版本 6 或更高版本來啟用可視化方式,

//則需要 InitCommonControlsEx()。否則,將無法創(chuàng)建窗口。

INITCOMMONCONTROLSEX InitCtrls;

InitCtrls.dwSize = sizeof(InitCtrls);

// 將它設(shè)置為包括所有要在應(yīng)用程序中使用的

// 公共控件類。

InitCtrls.dwICC = ICC_WIN95_CLASSES;

InitCommonControlsEx(InitCtrls);

CWinApp::InitInstance();

//GDI+初始化

GdiplusStartupInput StartupInput;

GdiplusStartup(gdiplusToken, StartupInput, NULL);

AfxEnableControlContainer();

// 創(chuàng)建 shell 管理器,以防對話框包含

// 任何 shell 樹視圖控件或 shell 列表視圖控件。

CShellManager *pShellManager = new CShellManager;

// 標準初始化

// 如果未使用這些功能并希望減小

// 最終可執(zhí)行文件的大小,則應(yīng)移除下列

// 不需要的特定初始化例程

// 更改用于存儲設(shè)置的注冊表項

// TODO: 應(yīng)適當修改該字符串,

// 例如修改為公司或組織名

SetRegistryKey(_T("應(yīng)用程序向?qū)傻谋镜貞?yīng)用程序"));

CTextDlg dlg;

m_pMainWnd = dlg;

INT_PTR nResponse = dlg.DoModal();

if (nResponse == IDOK)

{

// TODO: 在此放置處理何時用

// “確定”來關(guān)閉對話框的代碼

}

else if (nResponse == IDCANCEL)

{

// TODO: 在此放置處理何時用

// “取消”來關(guān)閉對話框的代碼

}

// 刪除上面創(chuàng)建的 shell 管理器。

if (pShellManager != NULL)

{

delete pShellManager;

}

// 由于對話框已關(guān)閉,所以將返回 FALSE 以便退出應(yīng)用程序,

// 而不是啟動應(yīng)用程序的消息泵。

return FALSE;

}

注:GdiplusStartupInput StartupInput; GdiplusStartup(gdiplusToken, StartupInput, NULL);為新添加的東西

(3)stdafx.h

//GDI+

#includegdiplus.h

using namespace Gdiplus;

#pragma comment(lib, "gdiplus.lib")

注:以上為為新添加的東西,需要的頭文件就是上而這些

(4)接著你就可以使用LinearGradientBrush, 在TextDlg.cpp

void CTextDlg::OnPaint()

{

Graphics graphics(this-m_hWnd);

LinearGradientBrush linGrBrush(

Point(0,0),

Point(200,0),

Color(255,255,0,0),

Color(255,0,0,255));

graphics.FillRectangle(linGrBrush, 0, 0, 200, 200);

}

如何使用java設(shè)置LinearLayout背景為漸變色

至少有兩種方案可以實現(xiàn):

第一是使用背景圖片,就是給Linearlayout添加一個background屬性,值選擇一張帶漸變顏色的圖片即可。

第二種方案是使用獨立的顏色代碼來替代上述一種的背景圖片,比如可以在res/drawable下新建一個mycolor.xml,然后再在LinearLayout添加屬性

android:background="@drawable/mycolor"即可

?xml?version="1.0"?encoding="utf-8"?

shape?xmlns:android="

gradient

android:angle="270"

android:centerColor="#00FFFF"

android:centerX="0.5"

android:centerY="0。3"

android:endColor="#666666"

android:startColor="#0099FF"?/

padding

android:bottom="7dp"

android:left="7dp"

android:right="7dp"

android:top="7dp"?/

corners?android:radius="4dp"?/

/shape

解析:其中android:angle ="270.0"代表角度為270,由上到下的漸變,如果我改變成0那么就變成了從左到右的漸變,如果改變90.0那么漸變會從下邊往上漸變,可以 多改變一下參數(shù)試試效果。centerColor中間顏色; centerX: x軸漸變中心,從左到右漸變時有意義;centerY: 同理y軸的漸變中心;endColor 漸變終點顏色,同樣startColor為漸變起點顏色。

上述代碼效果如下:

Java代碼修改

import?java.awt.Canvas;

import?java.awt.Color;

import?java.awt.Font;

import?java.awt.Graphics;

import?java.awt.Image;

import?java.util.Random;

import?javax.swing.JFrame;

class?RainCanvas?extends?Canvas?implements?Runnable{

private?int?width,?height;

private?Image?offScreen;?//?緩沖圖片

private?char[][]?charset;?//?隨機字符集合

private?int[]?pos;?//?列的起始位置

private?Color[]?colors?=?new?Color[25];?//?列的漸變顏色

public?RainCanvas(int?width,?int?height)?{

this.width?=?width;

this.height?=?height;

//?生成ASCII可見字符集合

//創(chuàng)建一個新的隨機器

Random?rand?=?new?Random();

?//width/10為字符雨屏幕的寬度??height/10為字符雨屏幕的長度

//隨機字符數(shù)組

charset?=?new?char[width?/?10][height?/?10];

for?(int?i?=?0;?i??charset.length;?i++)?{

for?(int?j?=?0;?j??charset[i].length;?j++)?{

//nextInt(int?n)?返回一個偽隨機數(shù),它是從此隨機數(shù)生成器的序列中取出的、在?0(包括)和指定值(不包括)之間均勻分布的?int值。

//48--144代表鍵盤上的字母?符號?數(shù)字

//為charset數(shù)組的每個元素取值

charset[i][j]?=?(char)?(rand.nextInt(96)?+?48);?}

}

//?隨機化列起始位置

pos?=?new?int[charset.length];

for?(int?i?=?0;?i??pos.length;?i++)?{

pos[i]?=?rand.nextInt(pos.length);

}

//?生成從黑色到綠色的漸變顏色,最后一個保持為白色

for?(int?i?=?0;?i??colors.length?-?1;?i++)?{

//顏色漸變

colors[i]?=?new?Color(0,?255?/?colors.length?*?(i?+?1),?0);?}

//設(shè)置最底下一個的字符的顏色????0?0?255?藍色??255?0?0?紅色??255?255?255?白色??0?255?0?綠色

colors[colors.length?-?1]?=?new?Color(0,?0,?255);?

setBackground(Color.black);

setSize(width,?height);

setVisible(true);

}

public?void?startRain()?{

new?Thread(this).start();

}

public?void?drawRain()?{

if?(offScreen?==?null)?{

return;

}

// Random?rand?=?new?Random();

//getGraphice()創(chuàng)建供繪制閉屏圖像使用的圖形上下文

Graphics?g?=?offScreen.getGraphics();

//通過使用當前繪圖表面的背景色進行填充來清除指定的矩形。

g.clearRect(0,?0,?width,?height);

//將此圖形上下文的字體設(shè)置為指定字體。使用此圖形上下文的所有后續(xù)文本操作均使用此字體。

g.setFont(new?Font("Arial",?Font.PLAIN,?14));

//

for?(int?i?=?0;?i??charset.length;?i++)?{

//int?speed?=?rand.nextInt(3);

for?(int?j?=?0;?j??colors.length;?j++)?{

//去掉j只顯示藍色的一個字符??去掉charset[i].length顯示黑屏

int?index?=?(pos[i]?+?j)?%?charset[i].length;

//?將此圖形上下文的當前顏色設(shè)置為指定顏色。

g.setColor(colors[j]);

//使用此圖形上下文的當前字體和顏色繪制由指定字符數(shù)組給定的文本

g.drawChars(charset[i],?index,?1,?i?*?10,?index?*?10);

}

pos[i]?=?(pos[i]+2?)?%?charset[i].length;

}

}

@Override

public?void?update(Graphics?g)?{

paint(g);

}

public?void?run()?{

while?(true)?{

drawRain();

repaint();

try?{

Thread.sleep(50);?//?可改變睡眠時間以調(diào)節(jié)速度

}

catch?(InterruptedException?e)?{

System.out.println(e);

}

}

}

@Override

public?void?paint(Graphics?g)?{

//?當組件顯示時檢測是否要創(chuàng)建緩沖圖片,在組件還不可見時調(diào)用createImage將返回null

if?(offScreen?==?null)?{

offScreen?=?createImage(width,?height);

}

g.drawImage(offScreen,?0,?0,?this);

}

}

public?class?ZFYTest?extends?JFrame{

private?RainCanvas?canvas?=?new?RainCanvas(1366,?768);

public?ZFYTest()?{

super("ZFY");

setUndecorated(true);

setExtendedState(JFrame.MAXIMIZED_BOTH);

setVisible(true);

canvas?=?new?RainCanvas(this.getWidth(),?this.getHeight());?//canvas?=?new?RainCanvas(800,600);

getContentPane().add(canvas);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public?static?void?main(String[]?args)?{

ZFYTest?test?=?new?ZFYTest();

test.canvas.startRain();

}

}


分享標題:java漸變代碼,漸變字代碼
標題網(wǎng)址:http://weahome.cn/article/hsgeps.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部