多色闆的制作
今天我們來做一個多色闆,由簡單到複雜,讓我們一起來看一下吧!
首先初級畫闆,顯示一個綠色的畫闆。看一下代碼:
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行4列的畫闆,再執行一次會重新顯示一個新的,快試試吧 |