java - 将圆圈放在 Jpanel 的中间

标签 java

我目前正在制作一个使用 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/

相关文章:

java - 在JAVA中按顺序将多个mp3文件连接成1个mp3文件

java - String.split() 无法正常运行,或者...根本没有?

java - 在JAVA中有效播放.wav文件

Java 文件标记 API

java - 在 shell 脚本中设置环境变量/在 Java 程序中访问

java - 如何使用 jsoup 从 html 元素获取字符串形式的 html 预览结果?

java - 查询中的字符串参数

java - 关闭 Hook 与终结器方法

java - Spark Dataframe 的 count() API 的替代方案

java - 是否有一个使用长度以外的参数的数组构造函数?