我正在使用java製作記憶遊戲。我有一個擴展JButton的類,用於繪製卡片,並且我有一個主要的跑步者類。這是我的卡片類。如何從擴展Jbutton的類中繪製方法
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.*;
public class Card extends JButton {
private String cardValue;
private boolean matched = false;
private int width = 70;
public int x;
public int y;
public Card(int x, int y) {
this.x = x;
this.y = y;
setPreferredSize(new Dimension(x, y));
}
public void drawFaceDown() {
setBackground(new Color(214, 247, 202));
setBorder(BorderFactory.createLineBorder(Color.BLACK, 2));
};
}
,這裏是我的亞軍類
import java.util.List;
import java.util.ArrayList;
public class Runner {
public static void main(String[] args) {
List<Card> tiles = new ArrayList<Card>();
int NUM_COLS = 5;
int NUM_ROWS = 4;
for (int i = 0; i < NUM_COLS; i++) {
for (int j = 0; j < NUM_ROWS; j++) {
tiles.add(new Card(i * 78 + 10, j * 78 + 40));
}
}
for (int i = 0; i < tiles.size(); i++) {
tiles.get(i).drawFaceDown();
}
}
}
在for循環中我嘗試使用drawFaceDown(),但是沒有什麼是繪製圖形面板上。有人可以幫助我瞭解正在發生的事情。
我到底該怎麼做? –
我試圖尋找一些教程來添加JButtons到圖形面板,這就是我發現的。 import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JButton; 公共類BasicSwing擴展JFrame { \t \t JPanel p = new JPanel(); \t JButton b = new JButton(「Hello」); \t \t \t公共靜態無效的主要(字串[] args){ \t \t新BasicSwing(); \t} \t \t公共BasicSwing(){ \t \t超( 「基本Swing應用程序」); \t \t \t \t setSize(400,300); \t \t setResizable(true); \t \t \t \t p.add(b); \t \t p.add(t); \t \t p.add(ta); \t \t p.add(l); \t \t p.add(cb); \t \t add(p); \t \t \t \t setVisible(true); \t} } –
但是,我必須在構造函數中添加按鈕。在我的例子中,我試圖在for循環中執行它,而p.add()不起作用。你是怎麼做到的? –