欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java顏色漸變的代碼 顏色代碼漸變色

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

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

我們提供的服務(wù)有:做網(wǎng)站、網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、松江ssl等。為近1000家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的松江網(wǎng)站制作公司

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

第二種方案是使用獨(dú)立的顏色代碼來(lái)替代上述一種的背景圖片,比如可以在res/drawable下新建一個(gè)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那么漸變會(huì)從下邊往上漸變,可以 多改變一下參數(shù)試試效果。centerColor中間顏色; centerX: x軸漸變中心,從左到右漸變時(shí)有意義;centerY: 同理y軸的漸變中心;endColor 漸變終點(diǎn)顏色,同樣startColor為漸變起點(diǎn)顏色。

上述代碼效果如下:

java 中怎樣設(shè)置窗口的顏色

調(diào)用需要設(shè)置顏色的控件的setBackgroud();方法就可以了。

但是設(shè)置JFrame和JLabel的背景色,一般就是下面的做法

JFrame frame = new JFrame();

frame.setBackground(Color.Red);

JLabel l = new JLabel();

l.setBackground(Color.Yellow);

frame.add(l);

結(jié)果根本就沒(méi)有反應(yīng)。這是由于Swing跟AWT有千絲萬(wàn)縷的聯(lián)系,它既要支持AWT又要有自己新的體系,所以呢,這個(gè)如果對(duì)于AWT中的Frame是可以直接通過(guò)setBackground來(lái)設(shè)置背景色,但是對(duì)于JFrame則不可以,應(yīng)該采用下面的方法:

JFrame frame = new JFrame();

frame.getContentPane().setBackground(Color.Red);

而對(duì)于JLabel來(lái)說(shuō)則要設(shè)置JLabel為不透明的才行,即

JLabel comp = new JLabel(value);

comp.setBackground(color);

comp.setOpaque(true);

這句代碼frame.setBackground(Color.Red);

改變的是框架的顏色,框架的上面還有窗格,所以你要改變窗格的顏色才可以側(cè)低改變框架的顏色

在主函數(shù)里加Containerframe.getContentPane()意思是獲得窗格

? ? ? ? ?setBackground(Color.Red);???????????????????????改變窗格顏色

另外再附一段背景顏色漸變的代碼

運(yùn)行示意圖如下:

import?java.awt.Color;

import?java.awt.GradientPaint;

import?java.awt.Graphics;

import?java.awt.Graphics2D;

import?javax.swing.JPanel;

import?java.awt.BorderLayout;

import?java.awt.EventQueue;

import?javax.swing.JFrame;

import?javax.swing.JPanel;

class?ShadePanel?extends?JPanel?{

private?static?final?long?serialVersionUID?=?-2644424271663261406L;

public?ShadePanel()?{

super();

setLayout(null);

}

@Override

protected?void?paintComponent(Graphics?g1)?{//?重寫繪制組件外觀

Graphics2D?g?=?(Graphics2D)?g1;

super.paintComponent(g);//?執(zhí)行超類方法

int?width?=?getWidth();//?獲取組件大小

int?height?=?getHeight();

//?創(chuàng)建填充模式對(duì)象

GradientPaint?paint?=?new?GradientPaint(0,?0,?Color.CYAN,?0,?height,

Color.MAGENTA);

g.setPaint(paint);//?設(shè)置繪圖對(duì)象的填充模式

g.fillRect(0,?0,?width,?height);//?繪制矩形填充控件界面

}

}

public?class?ShadeBackgroundImage?extends?JFrame?{

private?static?final?long?serialVersionUID?=?4693799019369193520L;

private?JPanel?contentPane;

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

EventQueue.invokeLater(new?Runnable()?{

public?void?run()?{

try?{

ShadeBackgroundImage?frame?=?new?ShadeBackgroundImage();

frame.setVisible(true);

}?catch?(Exception?e)?{

e.printStackTrace();

}

}

});

}

public?ShadeBackgroundImage()?{

setTitle("背景為漸變色的主界面");//?設(shè)置窗體標(biāo)題

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100,?100,?450,?300);

contentPane?=?new?JPanel();//?創(chuàng)建內(nèi)容面板

contentPane.setLayout(new?BorderLayout(0,?0));

setContentPane(contentPane);

ShadePanel?shadePanel?=?new?ShadePanel();//?創(chuàng)建漸變背景面板

contentPane.add(shadePanel,?BorderLayout.CENTER);//?添加面板到窗體內(nèi)容面板

}

}

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

用定時(shí)器不行么?

順便寫了個(gè),參考而已

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 {

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

public Timer t;

public JButton jb;

//-----一個(gè)定時(shí)器一個(gè)按鈕用來(lái)顯示變色效果

public int red = 0;

public int green = 0;

public int blue = 0;

public TestA() {

jb = new JButton("test");

jb.setBackground(Color.BLUE);

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

t = new Timer(200, this);

this.setSize(200, 200);

this.getContentPane().add(jb);

this.setVisible(true);

//-----定時(shí)器開始運(yùn)行

this.t.start();

}

public void actionPerformed(ActionEvent e) {

red += 5;

green += 10;

blue += 15;

red %= 255;

green %= 255;

blue %= 255;

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

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

this.jb.setVisible(true);

}

public static void main(String[] _s) {

TestA a = new TestA();

}

}

給你需要變色的元件掛個(gè)定時(shí)器。

網(wǎng)站欄目:java顏色漸變的代碼 顏色代碼漸變色
本文鏈接:http://chinadenli.net/article40/hhjsho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器網(wǎng)站排名手機(jī)網(wǎng)站建設(shè)網(wǎng)站導(dǎo)航ChatGPT關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)