Java JFrame';椭圆被放置在矩形的后面
所以,我正在为我的计算机编程主题制作一个Tic-Tac-Toe游戏。我的问题是,当我在JFrame中添加一个椭圆形时,它会被放置在游戏板的瓷砖后面(它们是矩形) (请注意,我已经为矩形和椭圆形添加了一个额外的参数来选择其颜色) 所以我的问题是: 有没有一种简单的方法来更改对象的颜色? 如何将椭圆放置在矩形顶部Java JFrame';椭圆被放置在矩形的后面,java,jframe,jpanel,rectangles,Java,Jframe,Jpanel,Rectangles,所以,我正在为我的计算机编程主题制作一个Tic-Tac-Toe游戏。我的问题是,当我在JFrame中添加一个椭圆形时,它会被放置在游戏板的瓷砖后面(它们是矩形) (请注意,我已经为矩形和椭圆形添加了一个额外的参数来选择其颜色) 所以我的问题是: 有没有一种简单的方法来更改对象的颜色? 如何将椭圆放置在矩形顶部 import javax.swing.*; import java.awt.*; import java.util.Scanner; public class GameBoard{
import javax.swing.*;
import java.awt.*;
import java.util.Scanner;
public class GameBoard{
static JFrame f = new JFrame("Tic Tac Toe");
static JPanel win = new JPanel();
static Rectangle re[][] = new Rectangle[3][3];
static Oval player1[][] = new Oval[9][9];
static Oval player2[][] = new Oval[9][9];
public static void main(String args[]){
f.setBounds(50, 50, 256, 279);
f.setLayout(null);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
win.add(new Rectangle(0,0,80,80,1));
win.add(new Rectangle(81,0,80,80,0));
win.add(new Rectangle(162,0,80,80,1));
win.add(new Rectangle(0,81,80,80,0));
win.add(new Rectangle(81,81,80,80,1));
win.add(new Rectangle(162,81,80,80,0));
win.add(new Rectangle(0,162,80,80,1));
win.add(new Rectangle(81,162,80,80,0));
win.add(new Rectangle(162,162,80,80,1));
f.getContentPane().add(win);
f.repaint();
userInput();
}
static int p1Count = 0;
static int p2Count = 0;
static void userInput(){
int uImpCalc = 1;
Scanner s = new Scanner(System.in);
while(uImpCalc <= 9){
int x = s.nextInt();
int y = s.nextInt();
if(x <= 3 && x > 0){
if(y <= 3 && y >0){
int rX = x*80;
int rY = y*80;
if(uImpCalc%2 == 0){
player1[p1Count][p1Count] = new Oval(rY, rX, 80, 80, 2);
win.add(player1[p1Count][p1Count]);
p1Count++;
}else{
player2[p2Count][p2Count] = new Oval(rY, rX, 80, 80, 1);
win.add(player2[p2Count][p2Count]);
p2Count++;
}
win.repaint();
System.out.println("Entering '"+x+", "+y+"'");
uImpCalc++;
}else{
System.out.println("Invalid Y: "+y);
}
}else{
System.out.println("Invalid X: "+x);
}
}
System.out.println("Game Over");
System.exit(0);
}
}
import javax.swing.*;
导入java.awt.*;
导入java.util.Scanner;
公共类游戏板{
静态JFrame f=新JFrame(“Tic Tac Toe”);
静态JPanel win=newjpanel();
静态矩形re[][]=新矩形[3][3];
静态椭圆形播放器1[][]=新椭圆形[9][9];
静态椭圆形播放器2[][]=新椭圆形[9][9];
公共静态void main(字符串参数[]){
f、 挫折(50、50、256、279);
f、 setLayout(空);
f、 setVisible(真);
f、 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
添加(新矩形(0,0,80,80,1));
添加(新矩形(81,0,80,80,0));
添加(新矩形(162,0,80,80,1));
添加(新矩形(0,81,80,80,0));
添加(新矩形(81,81,80,80,1));
添加(新矩形(162,81,80,80,0));
添加(新矩形(0162,80,80,1));
添加(新矩形(81162,80,80,0));
添加(新矩形(162162,80,80,1));
f、 getContentPane().add(win);
f、 重新油漆();
用户输入();
}
静态int p1Count=0;
静态整数p2Count=0;
静态void userInput(){
int uImpCalc=1;
扫描仪s=新的扫描仪(System.in);
while(uImpCalc)你可以创建一个按钮或标签的矩阵,当用户点击它们时,根据用户添加一个十字或椭圆形的图像。谢谢,伙计,但是我被要求输入一个坐标,即“1 1”,并在带有该坐标的矩形中放置一个绿色或蓝色的椭圆形