1. 程式人生 > >JavaFX之setBackground()設定元件背景顏色

JavaFX之setBackground()設定元件背景顏色

Javafx設定背景顏色不如swing 方便,在對圖形設定顏色時可以使用setFill方法

對標籤(label),按鈕(button)這些元件設定背景顏色時,就可以用到setBackground方法

廢話不多少,先奉上我自己寫的程式碼:

/**
	 * 設定一個或多個元件的大小和背景顏色
	 * @param prefWidth用於設定元件的寬
	 * @param prefHeight 用於設定元件的長
	 * @param backgroundColor 用於設定的背景顏色
	 * @param controls 一個或多個元件,如果沒有,那麼該語句相當於不存在
	 */
	public void setCommpentSizeAndColor(double prefWidth,double prefHeight,Color backgroundColor, Control...controls){
		setCommpentSize(prefWidth,prefHeight,controls);
		setCommpentColor(backgroundColor,controls);
	}
	/**
	 * 設定一個或多個元件的大小
	 * @param prefWidth 用於設定元件的寬
	 * @param prefHeight 用於設定元件的長
	 * @param controls 一個或多個元件,如果沒有,那麼該語句相當於不存在
	 */
	public void setCommpentSize(double prefWidth,double prefHeight, Control...controls){
		for(int i = 0; i < controls.length; i++){
			if(controls[i] instanceof Label){
				controls[i] = (Label)controls[i];
				((Label) controls[i]).setAlignment(Pos.CENTER);//設定字型居中
			}
			else if(controls[i] instanceof Button)
				controls[i] = (Button)controls[i];
			controls[i].setPrefSize(prefWidth, prefHeight);
		}
	}
	/**
	 * 設定一個或多個元件的背景顏色
	 * @param backgroundColor 用於設定的背景顏色
	 * @param controls 一個或多個元件,如果沒有,那麼該語句相當於不存在
	 */
	public void setCommpentColor(Color backgroundColor, Control...controls){
		for(int i = 0; i < controls.length; i++){
			controls[i].setBackground(new Background(new BackgroundFill(backgroundColor,null,null)));
		}		
	}
解釋一下:

用點操作符,點出setBackground方法,系統會提示你,它的引數為Background型別,但是我們並不知道Background是什麼東西,不知道就試唄,Background點,

發現點不出什麼東西來,那就new吧,然後你會發現new出來沒有引數的構造方法報錯了,於是看報的什麼錯,一看就知道,Background有一個帶有BackgroundFill引數

的構造方法,於是我們大膽地又new一個BackgroundFill,同樣的它也會報錯,然後我們看一下提示資訊,他會提示你新增相關引數,其中第一個引數就是背景顏色,

後面兩個為null的,本人還沒怎麼看懂,但沒多大影響,如果大家有興趣,可以去理解一下

Control...controls中間的3個點表示傳入任意個Control型別的引數

Control是大多陣列件的父類

相關推薦

JavaFXsetBackground()設定元件背景顏色

Javafx設定背景顏色不如swing 方便,在對圖形設定顏色時可以使用setFill方法 對標籤(label),按鈕(button)這些元件設定背景顏色時,就可以用到setBackground方法

Qt小心得1: QWidget中新增Q_OBJECT巨集, setStyleSheet設定背景顏色不顯示

          QWidget在沒有新增Q_OBJECT巨集,在建構函式裡用setStyleSheet設定了背景顏色,是可以正常顯示,但添加了Q_OBJECT巨集後,QWidget就無法顯示背景色了, 百度了一下,發現了類似問題,說是QWidge

Android 程式碼設定 控制元件背景顏色

直接看程式碼:    設定背景顏色兩種方式 RelativeLayout mRelativeLayout=(RelativeLayout) findViewById(R.id.Relative);         /**          * 1、在values目錄下新建

設定static控制元件背景顏色、控制元件字型的背景顏色和控制元件字型的顏色

注:轉載至:https://my.oschina.net/u/241930/blog/528285,謝謝該博主的分享 #include <windows.h> LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPAR

動態設定shape 背景顏色 圓角

GradientDrawable colorDrawable = new GradientDrawable(); colorDrawable.setColor(Color.parseColor(item.getBidTags().get(0).getTagColor()));

AndroidTextView設定String文字顏色

每一次我們在textview佈局的時候,當遇到多個文字顏色的時候,會變得很麻煩,這時候是需要一個textview,設定一個textcolor 還是有其他更好的辦法呢?下面我們來看看有幾種能設定textview 顏色:

MFC設定視窗背景顏色(很全很強大)

如何修改frame視窗的背景顏色?    MDI視窗的客戶區是由frame視窗擁有的另一個視窗覆蓋的。為了改變frame視窗背景的顏色,只需要這個客戶區的背景顏色就可以了。你必須自己處理WM_ERASEBKND訊息。下面是工作步驟:   建立一個從CWnd類繼承的類,

table各行設定不同背景顏色的js實現

直接上程式碼 var table=document.getElementById("example"); var trs=table.getElementsByTagName("tr"); alert(trs.length) for(var i=0;i<trs.length;i++){

修改對話方塊picture控制元件背景顏色的方法

兩個方法: 1、手動指定程式的picture大小: 設一個CStatic的物件(picture控制元件是CStatic型別的):m_pic2;且定義該picture控制元件的標識ID為IDC_STATIC_PIC2; 首先要在OnInitDialog()中完成獲取picture控制元件的

【C#】【WPF】Button按鈕動態設定Background背景顏色

學習筆記: 在XAML中給Button設定顏色大家都懂的,本篇只是記錄用C#程式碼動態生成的按鈕設定Background背景顏色。 new一個Button,設定Background時可看到該屬性型別是System.Window.Media.Brush C

Android——動態設定view背景顏色setBackgroundColor

setBackgroundColor 用於動態設定view背景顏色 今天寫程式碼的時候遇到個小問題 動態設定的時候用Color.GRAY,系統自己帶著的顏色,是沒有問題的 但是用自己定義的顏色,就不生效。 然後我搜索到了下面這個網址 請瀏覽上

UITableView實現多選時沒有效果/控制元件背景顏色消失了?

我們隊自定義的cell,使用多選功能的時候沒有效果? 1.檢查自己的tableview.editing = yes /  tableview.allowMutlpleSelction = yes,設定為編輯狀態,可多選 2.檢視自己的自定義cell的控制元件是否載入到了se

QT 修改控制元件背景顏色

一. 背景刷成黑色,前景色設為白色。 方法一、paltette方式,經測試,該方法不會影響到其他控制元件,推薦使用 QPalette bgpal = palette(); bgpal.setColor (QPalette::Background, QColor (0,

IOS開發修改UISearchBar的背景顏色

mySearchBar.backgroundColor = RGBACOLOR(249,249,249,1);     mySearchBar.backgroundImage = [self imageWithColor:[UIColor clearColor] size:mySearchBar.bound

Qt中設定widget背景顏色背景圖片的注意事項

在Qt中設定widget背景顏色或者圖片方法很多種:重寫paintEvent() , 調色盤QPalette , 樣式表setStyleSheet等等。       但是各種方法都有其注意事項,如果不注意則很容易陷入麻煩中。[喝小酒的網摘]http://blog.const.net.cn/a/8333.

MFC修改對話方塊及控制元件背景顏色

HBRUSH CMyDlg::OnCtlColor(CDC* pDC,CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr =CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: Change any attributes o

iOS解決UITableView與背景顏色不一致問題

近日專案開發中,發現UITableViewController在設定了背景色後(顏色1)與TableView的顏色2非常不搭調,細節決定成敗啊! 翻查程式碼發現設定HeaderInSection

iOS 設定UITabBar,背景顏色,預設圖片,文字顏色,和選中顏色.

  對於UITabBar設定背景顏色很簡單,backbackgroundColor不要使用,即使設定了也不起作用,應該使用barTintColor設定背景.    那麼圖示和文字的預設顏色怎麼設定呢

iOS設定tabBar背景顏色

viewDidLoad中設定//設定tabBar的顏色    UIView *bgView = [[UIViewalloc] initWithFrame:self.tabBar.bounds];    bgView.backgroundColor = [UIColorblue

整體設定eclipse背景顏色 豆沙綠

長期使用eclipse,白色背景確實很傷眼睛,如下給出設定應用背景顏色方法,設定完之後整個電腦的背景都為豆沙綠,感覺好省事,如有需要可以試一下 右鍵桌面==>個性化==>視窗顏色==&g