作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
编辑:当我启动程序时,棋盘会按预期绘制,并且按钮会起作用。但我希望仅在按下按钮时绘制棋盘,而不是在运行程序时绘制。我怎样才能做到这一点?
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;
}
}
}
}
最佳答案
我的做法是将绘制棋盘的位放入 if 语句中,并创建一个 boolean 变量,单击按钮时该变量设置为 true。
例如:
if(hasBeenPressed){
// add drawing code here
}
我对java中的按钮不太熟悉,所以我不能真正告诉你如何完全设置它,但我希望这至少对你做你想做的事情有一点帮助。
关于java - 如何用Java制作按钮绘画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14337968/
我是一名优秀的程序员,十分优秀!