我想在JButton中隐藏文本。当用户单击JButton时,将显示文本。
这是我的游戏要求(用户需要在这些按钮中找到"点击"): http://gyazo.com/73475fc9725bbc750463dbefc55d55ad
现在我的代码以这种方式显示(我希望它们隐藏在按钮内) http://gyazo.com/d7ac57eb287aa8601067b87d0755cfc9
随机课程:
for (int y = 0; y < x; y++) {
int randomThree = new java.util.Random().nextInt(gridNo);
int randomThree2 = new java.util.Random().nextInt(gridNo);
if (ButtonArray[randomThree][randomThree2].getText() != "hit") {
// to prevent have same position hit
ButtonArray[randomThree][randomThree2].setText("hit");
}
主类:按钮操作:
ButtonArray[row][col].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
ButtonArray[r][c].setEnabled(false);
if ( ButtonArray[r][c].getText().equalsIgnoreCase("hit")) {
game.incCountHit(1);
if (game.getCountHit() == 3) {
startBtn.setText("Restart Game "); // set text
}
}
}
});randHit.randomNo();
答案 0 :(得分:0)
您可以将此代码放在要显示所需文本的按钮的单击事件上。
虽然你的目的不是很明确,但我想你需要这个:
if(jButton1.isEnabled()==false){
jButton1.setText("HIT");
}
根据您的代码进行编辑:
最初设置按钮的前景色与按钮的背景色相同。
if ( ButtonArray[r][c].getText().equalsIgnoreCase("hit")) {
game.incCountHit(1);
ButtonArray[r][c].setForeground(Color.black);
if (game.getCountHit() == 3) {
startBtn.setText("Restart Game "); // set text
}
}
修改强>:
假设一个新数组用于存储带有所需rowSize和colSize的文本,该数组与ButtonArray相同。
String[][] newArray = new String [rowSize][colSize];
随机课:
for (int y = 0; y < x; y++) {
int randomThree = new java.util.Random().nextInt(gridNo);
int randomThree2 = new java.util.Random().nextInt(gridNo);
if (newArray[randomThree][randomThree2] != "hit") {
newArray[randomThree][randomThree2]="hit";
}
}
主类:按钮操作:
ButtonArray[row][col].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
ButtonArray[r][c].setEnabled(false);
if ( newArray[r][c].equalsIgnoreCase("hit")) {
game.incCountHit(1);
if (game.getCountHit() == 3) {
startBtn.setText("Restart Game "); // set text
}
}
}
});randHit.randomNo();
答案 1 :(得分:0)
对于像清扫器这样的东西,你有两个数组,一个是按钮数组,一个是“内容”数组。
触发/按下一个按钮,您将确定按下的按钮的按钮数组中的索引并使用该索引,查找按钮内容的“内容”数组。
然后,您可以将按钮文本设置为“content”数组中给定元素的文本值。
一个更简单的解决方案是使用某种Map
键入JButton
,其中包含该按钮的值,这样可以更容易地查找值。