這樣,在pannel里,用一個(gè)一個(gè)lable標(biāo)簽來(lái)畫,然后設(shè)置標(biāo)簽的顏色來(lái)區(qū)分開 8X8的樣子。以下是源碼:(可運(yùn)行下,看效果)
創(chuàng)新互聯(lián)2013年開創(chuàng)至今,先為合肥等服務(wù)建站,合肥等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為合肥企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class MyFrame extends JFrame {
private int FIELDSIZE = 40;
public MyFrame(){
setTitle("國(guó)際象棋方框示例");
setName("test");
setBounds(400, 200, 330, 350);
setResizable(false);
JPanel boardPane = new JPanel();
boardPane.setLayout(null);
add(boardPane);
JLabel[][] labs = new JLabel[8][8];
for(int x = 0; x 8; x++){
for(int y = 0; y 8; y++) {
JLabel backgroundLabel = new JLabel();
backgroundLabel.setOpaque(true);
backgroundLabel.setBounds(x*FIELDSIZE,y*FIELDSIZE,FIELDSIZE,FIELDSIZE);
boardPane.add(backgroundLabel,new Integer(1),0);
labs[x][y] = backgroundLabel;
}
}
setColor(labs);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
private void setColor(JLabel[][] labs){
for(int x=0;x8;x++){
for(int y=0;y8;y++){
if(x==0){
if(y==0){
labs[x][y].setBackground(Color.BLACK);
}else{
if(labs[x][y-1].getBackground().equals(Color.BLACK)){
labs[x][y].setBackground(Color.GRAY);
}else{
labs[x][y].setBackground(Color.BLACK);
}
}
}else{
if(labs[x-1][y].getBackground().equals(Color.BLACK)){
labs[x][y].setBackground(Color.GRAY);
}else{
labs[x][y].setBackground(Color.BLACK);
}
}
}
}
}
public static void main(String[] args) {
new MyFrame();
}
}
按照你的要求,編寫的Java程序如下
import?java.awt.Color;
import?java.awt.Graphics;
import?javax.swing.JFrame;
public?class?F?extends?JFrame?implements?Runnable{
Color[]?colors?=?{Color.red,Color.orange,Color.yellow,Color.green,Color.cyan,Color.blue,Color.magenta,Color.black};??
int?i=0;
F(){
setTitle("變色正方形");
setSize(400,?400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public?void?paint(Graphics?g){
g.setColor(colors[i]);
g.drawRect(100,100,200,200);
}
@Override
public?void?run()?{
while(true){
try?{
Thread.sleep(1000);
}?catch?(InterruptedException?e)?{
e.printStackTrace();
}
if(i7)
i++;
else
i=0;
repaint();
}
}
public?static?void?main(String[]?args)?{
F?f=new?F();
Thread?t=new?Thread(f);
t.start();
}
}
運(yùn)行結(jié)果
drawRect
public void drawRect(int x,
int y,
int width,
int height)繪制指定矩形的邊框。矩形的左邊和右邊位于 x 和 x + width。頂邊和底邊位于 y 和 y + height。使用圖形上下文的當(dāng)前顏色繪制該矩形。
參數(shù):
x - 要繪制矩形的 x 坐標(biāo)。
y - 要繪制矩形的 y 坐標(biāo)。
width - 要繪制矩形的寬度。
height - 要繪制矩形的高度。
可使用Graphics 的fillRect繪制正方形,代碼如下:
import?java.awt.Color;
import?java.awt.Graphics;
import?javax.swing.JFrame;
public?class?Rect?extends?JFrame{
Rect(){
setSize(300,?300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public?void?paint(Graphics?g){
g.setColor(Color.blue);
g.drawRect(80,?80,?50,?50);
g.fillRect(150,?150,?50,?50);
}
public?static?void?main(String[]?args)?{
new?Rect();
}
}
標(biāo)題名稱:java畫方線格代碼 Java畫線
轉(zhuǎn)載來(lái)于:http://jinyejixie.com/article0/dosoooo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站收錄、關(guān)鍵詞優(yōu)化、品牌網(wǎng)站建設(shè)、、微信小程序
聲明:本網(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)