2012-01-06 93 views
3

嗨我對Java有點新鮮,也對編程有所瞭解,爲了獲得語言和編程的雙重打擊,我決定構建一個壟斷遊戲。Java矩形圖像

我還應該提到,這是我作爲程序員的第一個項目,所以我的做事方式可能是最糟糕的方式。

我使用Swing庫和每個矩形使用圖形

我建立使用矩形佈局,我想知道是否有辦法diferent圖像添加到每個矩形畫?

謝謝

+1

是否使用Swing組件?需要更多信息才能恰當地回答這個問題。 – mre 2012-01-06 14:10:09

+0

請發佈(您的代碼的重要部分)。 – Ishtar 2012-01-06 14:10:44

+0

@ user985482:您應該編輯您的問題以提供更多信息。你是否使用Swing和佈局管理器以某種方式平鋪矩形?它肯定可以這樣做,但對於棋盤遊戲來說,建立自己的一個大圖像並自己處理元素/精靈/任何內容(對於你的情況,每個單獨的「矩形」)更爲典型。 – TacticalCoder 2012-01-06 14:12:09

回答

2

用合適的佈局創建面板,以方便我建議你使用JPanels與邊框,而不是繪製rectangles.and遵循這些,

image = ImageIO.read(new File(path)); 
    JLabel picLabel = new JLabel(new ImageIcon(image)); 

Yayy!現在你的形象是一個擺動組件!將其添加到框架或面板或任何您通常所做的事情!你想:)可能需要一個重新粉刷過,像

jpanel.add(picLabel); 
    jpanel.repaint(); 

這樣做對儘可能多的圖片編碼快樂...乾杯:)

2

看來你嘗試使用Swing的佈局板。如果是這樣,您可以簡單地設置JLabel的圖像圖標。

JLabel label = new JLabel(new ImageIcon(image)); 

但是,我個人將設計專賣板作爲JPanel併爲其編寫自定義塗裝方法。在這種情況下,只需使用Graphics類的drawImage()方法即可繼續。

2

您可能需要做的是將每個矩形創建爲JPanel。然後,您可以使用GridLayout創建網格,然後設置JPanel的背景,如here所示。

您也可以將JLabel放在每個JPanel中,並使用setIcon()方法,如here所示。

+0

正確答案+1 – mKorbel 2012-01-06 14:32:41