gpt4 book ai didi

java - 将圆圈放在 Jpanel 的中间

转载 作者:行者123 更新时间:2023-11-30 10:25:48 25 4
gpt4 key购买 nike

我目前正在制作一个使用 GUI 设置跳棋盘的程序。我的问题是我可以设置棋盘颜色并让程序在单击鼠标时以及在何处单击时通知我,但我无法弄清楚如何使跳棋出现在正确位置的每个位置的中间。

import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class Main {
public static int rows = 8;
public static int colums = 8;
public static Color Col1 = Color.BLACK;
public static Color Col2 = Color.RED;

public static void main(String [ ] args){
System.out.println("Dbug3");
JFrame boardGUI = new JFrame();
boardGUI.setSize(800, 800);
boardGUI.setTitle("Checker Board");
Container pane = boardGUI.getContentPane();
pane.setLayout(new GridLayout(rows, colums));
Color tmp;
ImageIcon image = new ImageIcon("C:\\Users\\Awesome\\Desktop\\CheckerP.jpg");

JLabel label = new JLabel("", image, JLabel.CENTER);

boardGUI.addMouseListener(new MouseAdapter() {

public void mousePressed(MouseEvent e) {
//Board
System.out.println(e.getX() + "," + e.getY());
}
});
for (int i = 0; i < rows; i++) {
if (i % 2 == 0) {
tmp = Col1;
} else {
tmp = Col2;
}
for (int j = 0; j < colums; j++) {
JPanel panel = new JPanel();
panel.setBackground(tmp);
panel.add( label, BorderLayout.CENTER );
if (tmp.equals(Col1)) tmp = Col2;
else tmp = Col1;
pane.add(panel);
}


}
boardGUI.setVisible(true);

}
public void paint(Graphics2D g) {
g.fillOval(480,480,200,200);
g.setColor(Color.BLUE);
}
}

最佳答案

fillOval 之前用 drawOval 试试这个?

 public void drawCircle(Graphics2D g) {           
g.drawOval(480, 480, 200, 200);
g.setColor(Color.BLUE);
g.fillOval(480, 480, 200, 200);
}

关于java - 将圆圈放在 Jpanel 的中间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45940090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com