1
編輯: 當我啓動程序時,棋盤會按照它的設想和按鈕的效果進行繪製。但是我只想在按下按鈕時繪製棋盤,而不是在運行程序時繪製。我怎樣才能做到這一點 ?如何在Java中進行按鈕繪製?
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Male extends JFrame implements ActionListener {
JFrame frame;
JPanel DrawPanel;
JButton button;
public void Male() {
frame = new JFrame();
button = new JButton("MALE");
button.addActionListener(this);
MyDrawPanel DrawPanel = new MyDrawPanel();
frame.getContentPane().add(BorderLayout.SOUTH, button);
frame.getContentPane().add(BorderLayout.CENTER, DrawPanel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500,500);
frame.setVisible(true);
}
public static void main(String[] args) {
Male gui = new Male();
gui.Male();
}
public void actionPerformed(ActionEvent event) {
frame.repaint();
}
}
class MyDrawPanel extends JPanel {
public void paintComponent(Graphics g) {
g.setColor(Color.BLACK);
setBackground(Color.WHITE);
int x=0;
int y=0;
for (int i=0; i<32; i++){
g.fillRect(x, y, 50, 50);
x = x + 100;
if (x == 400){
x = 50;
y = y + 50;
}else if (x == 450){
x = 0;
y = y + 50;
}
}
}
}
*「這裏是空白填充的代碼:」*所以開始吧。回到我們,當你可以問一個*特定*問題。 –
我不是要求任何人爲我填充空白。我想知道是否應該讓JButton在類MaleFrame中完成繪圖,並且我應該在哪裏放置Main方法,因爲如果沒有它,eclipse將無法編譯。我會把它放在班級男性,但沒有空間,我可以放在哪裏? –
OK *「如何在Java中創建按鈕畫?」*在'actionPerformed(ActionEvent)'上,調用自定義組件上的'repaint()'。 –