天天看點

多色闆的制作

             多色闆的制作

今天我們來做一個多色闆,由簡單到複雜,讓我們一起來看一下吧!

首先初級畫闆,顯示一個綠色的畫闆。看一下代碼:

import java.awt.Color;

import java.awt.GridLayout;

import javax.swing.JFrame;

import javax.swing.JPanel;

publicclass Test extends JFrame{

public Test(){

// 定義基礎畫布

JPanel pnBasic = new JPanel();

// 設定基本畫布的背景色

pnBasic.setColor.< /span>GREEN);

// 綁定畫闆和畫布

setContentPane(pnBasic);

// 設定窗體标題

setTitle("初級畫闆");

// 設定窗體的大小

// setSize(400,300);

// 設定窗體的坐标,這兩句相當于下面的一句

// setLocation(200, 200);

setBounds(200, 200, 400, 300);

// 設定退出方式

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// 設定窗體可見

setVisible(true);

}

publicstaticvoid main(String[] args) {

new Test();

執行結果就是顯示,标題為初級畫闆的一個畫闆,背景色為綠色,可以自己試一下。

接下來就要開始完善了,在畫闆中劃分4等份,并且設定上不同的顔色,這就需要我們在畫布上添加4個小畫闆,并且需要設定布局即4等份,看下代碼吧:

// 定義指定布局方式,兩行兩列

GridLayout lyGrid = new GridLayout(2, 2);

// 設定基本面闆布局為指定布局

pnBasic.setLayout(lyGrid);

//定義4塊面闆,并設定背景顔色

JPanel pnGreen = new JPanel();

pnGreen.setColor.< /span>GREEN);

JPanel pnYellow = new JPanel();

pnYellow.setColor.< /span>YELLOW);

JPanel pnRed = new JPanel();

pnRed.setColor.< /span>RED);

JPanel pnBlue = new JPanel();

pnBlue.setColor.< /span>BLUE);

// 将四塊小面闆加入到基礎面闆中

pnBasic.add(pnGreen);

pnBasic.add(pnYellow);

pnBasic.add(pnRed);

pnBasic.add(pnBlue);

setTitle("中級畫闆");

執行結果:顯示一個标題為中級畫闆,且有4個顔色的等分畫闆。

上面的這個畫闆,每個小畫闆的顔色是我們事先指定好的,如果想每次執行,這四個小畫闆的顔色都發生變化即顔色是随機的,應該怎麼實作呢。說到随機就會想到随機數,看下面的代碼吧:

import java.util.Random;

//定義随機數

Random ran = new Random();

//定義4塊面闆,并設定背景顔色,Color中三個數代表一個顔色,每次都新産生一個随機數,實作顔色随機

pnGreen.setBackground(newColor(ran.nextInt(256), ran.nextInt(256), ran.nextInt(256)));

pnYellow.setBackground(new Color(ran.nextInt(256), ran.nextInt(256),ran.nextInt(256)));

pnRed.setBackground(new Color(ran.nextInt(256), ran.nextInt(256), ran.nextInt(256)));

pnBlue.setBackground(new Color(ran.nextInt(256), ran.nextInt(256), ran.nextInt(256)));

setTitle("進階畫闆");

結果我們可以想到,标題進階畫闆并且每次執行顔色都是不一樣的。

最後完成終極畫闆吧,我們自己指定行數和列數,且每次顔色都不一樣,方法很多,也很簡單,可以試一下:

import java.util.Scanner;

//使用者自己輸入行數和列數

Scanner scan  = new Scanner(System.in);

System.out.println("請輸入畫闆的行數和列數:");

int i = scan.nextInt();

int j = scan.nextInt();

GridLayout lyGrid = new GridLayout(i, j);

//利用循環,定義每個畫闆并随機設定背景顔色

for(int k = 0;k < i*j;k++){

JPanel pn = new JPanel();

pn.setBackground(new Color(ran.nextInt(256), ran.nextInt(256), ran.nextInt(256)));

pnBasic.add(pn);

setTitle("終級畫闆");

執行結果:請輸入畫闆的行數和列數:

4

顯示題目為終極畫闆 4行4列的畫闆,再執行一次會重新顯示一個新的,快試試吧