- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为一个项目制作一个国际象棋游戏,我想做的第一件事就是创建一个框架,然后用 64 个 JButton(组织为 8x8)填充它,每个 JButton 都将充当棋盘上的方 block 。我对 Java 还很陌生,但我仍然认为我不应该收到我收到的错误,它不是不久前发生的,但这就是说,当框架之前加载时,没有任何 JButton做到了。
在使用 3D 数组向 JButton 添加坐标时,我似乎遇到了问题,我不断收到错误“对于 ChessBoard 类型,方法 add(ChessSquare) 未定义”,除此之外,Eclipse 还不断出现错误为我的错误提供帮助,但我认为接受这些错误可能会让事情变得更糟。
另一个问题是当我尝试保存 ChessSquare 中 3D 数组中的正方形坐标时。
我目前有 2 个类,ChessBoard 和 ChessSquare,我正在尝试让 ChessBoard 使用 ChessSquare 来制作棋子。
抱歉,如果我不太清楚,我太累了。
预先感谢您的帮助。
这是我的代码:
董事会:
import java.awt.GridLayout;
import java.io.IOException;
import javax.swing.JFrame;
import Logic.ChessSquare;
public class ChessBoard {
//chess board constructor
public ChessBoard() throws IOException {
//create grid and grid dimensions
GridLayout grid = new GridLayout(8,8);
//create frame and set specifications of frame
JFrame frame = new JFrame();
frame.setVisible(true);
frame.setSize(458, 458);
frame.setTitle("I'm starting to prefer C");
//initialise 3D array
ChessSquare[][] square = new ChessSquare[8][8];
//create 64 instances of ChessSquare and assign each square as an element in the 3D array
for (int i = 0; i < 8; i++){
for(int l = 0; l < 8; l++){
square[i][l] = new ChessSquare();
this.squarePos(square[i][l]); //this is where my main gripe is
}
}
}
public static void main(String[] args) throws IOException{
new ChessBoard();
}
}
正方形:
package Logic;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
//chess square class, 1 instance of which for each square in the grid
public class ChessSquare extends JButton {
/**
*
*/
private static final long serialVersionUID = 1L;
//instance variables for position and piece
public int squarePos;
public String selectedPiece;
//accessor method for position
public void squarePos(){
int squarePos = ChessBoard.square;
}
//constructor for chess squares
public ChessSquare() throws IOException {
BufferedImage buttonIcon = ImageIO.read(new File("E:\\Eclipse\\ChessF\\src\\Images\\EmptySquare.jpg"));
JButton button = new JButton(new ImageIcon(buttonIcon));
}
}
最佳答案
“另一个问题是当我尝试保存 ChessSquare 中 3D 数组中的正方形坐标”
将x
和y
作为ChessSquare的属性,并在ChessSquare的构造函数中接收值:
public class ChessSquare extends JButton {
private int x, y;
/**
*
*/
private static final long serialVersionUID = 1L;
//instance variables for position and piece
public int squarePos;
public String selectedPiece;
public ChessSquare(int x, int y){
this.x = x;
this.y = y;
}
...
要初始化方 block 并渲染它们,请修改 ChessBoard
构造函数中的循环。您需要将新创建的 ChessSquare
添加到框架中。
for (int i = 0; i < 8; i++){
for(int l = 0; l < 8; l++){
ChessSquare square = new ChessSquare(i, l);
square[i][l] = square;
frame.add(square);
}
}
之后,每个 ChessSquare
都知道其 x
和 y
位置。
Oracle 有一些很棒的教程:http://docs.oracle.com/javase/tutorial/java/TOC.html .
此外,在掌握基础知识后,请阅读 Swing:http://docs.oracle.com/javase/tutorial/uiswing/components/index.html
关于java - 尝试创建一个充满 JButton 的框架,但我的 JButton 无法加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15557239/
我有一个 Storm 拓扑,其中一个 bolt 应该与ElasticSearch交互。 public static Client client; public static Settings sett
我目前正在开发 LIMS。我需要检索与需要使用某种准备方法准备的实验室 sample 相关的信息。 (我对此进行了相当多的简化,因此对任何错误表示歉意。)我需要在查询结果中生成的列是: Sample
我必须以下文件夹结构: main - server -- server-module-1 --- a --- b --- c -- server-module-2 --- d --- e --- f
Tomcat 和我的自定义 JAAS LoginModule 运行良好,但每次我输入错误的凭据时,整个 LoginException 都会写入日志。根据定义,LoginModule 必须在身份验证失败
我一直在关注有关 iOS 开发的教程 - 特别是向下钻取 UITableViews。我建立了自己的自定义 plist,但我似乎无法让 DetailViewController 填充我的 plist 信
我对 QT 比较陌生。在我的代码中,我创建了一个 QTableWidget,遍历行并将单元格设置为 QLineEdits 和 QCheckBoxes。我想这样做,以便更改任何 QLineEdits 中
我刚开始使用 Chrome 的分析器。所以这可能是对我得到的结果的误解。 如果我打开 Chrome 分析器并拍摄以下网页的堆快照,我会注意到 obj3 的保留大小是 obj1 和 obj2 的保留大小
我正在尝试使用 Python 2.7 中的 BeautifulSoup 4 解析 youtube 评论。当我尝试播放任何 YouTube 视频时,我会收到充满 BOM 的文本,而不仅仅是在文件开头:
我有此消息的完整系统日志: mysqld[963]: 2016-10-23 20:54:14 140708269390592 [警告] 拒绝用户 ''@'localhost' 访问(使用密码:NO)
我有一个数组,里面装满了NSDictionaries。我想找到其中一本字典的 index,但我对这本字典的了解只是键 @"name"的 value。我该怎么做 ? 最佳答案 在 theArray 中查
我想在之前的div内容满了文字的时候显示div,然后继续用剩下的文字填充这个新的div。 我不知道怎么办。事实上,在下面的代码中我写道,div 是在单击按钮时显示的。我也无法设置上面解释的“填充操作”
这是发生了什么: 内部数据库内容:一个类有一个字符串属性,用于存储电话号码。这个数字是使用代码设置的 CFBridgingRelease(ABMultiValueCopyValueAtIndex(AB
我的 logcat 中收到了数千条以下警告消息,它挤掉了我实际要查找的消息: W/ActivityManager﹕ Wtf, activity ActivityRecord{4338cd90 u0 u
我尝试使用 mongoimport 在 mongodb 中导入单个 csv 文件,使用 mongoimport -d mydb -c things --type csv --file location
我的 Rails 开发日志中有大量这样的行: Started GET "/assets/services.css?body=1" for 127.0.0.1 at 2012-11-26 02:27:4
我在 Xcode 8/iOS 10/Swift 3 中遇到 Firebase 问题。试图让 Firebase Analytics 全部设置好。但是在 iOS10 中,控制台会记录来自 Firebase
我的 logcat 中充满了以下消息 - E/UsDebuggingManager( 476): java.io.IOException: Connection refused E/UsDebugg
总结 我有各种单节点 Kubernetes 集群,这些集群在累积约 300 个已完成的作业后变得不稳定。 例如,在一个集群中,有 303 个已完成的作业: root@xxxx:/home/xxxx#
我是一名优秀的程序员,十分优秀!