大家好,我现在最后一部分是文件阅读。我试过写一个fileReader,但似乎没有改变我的变量rNum的值?
关于为什么它不会在以下陈述中改变的任何想法?感谢
public void readStartFile(String fileName){
int rowNumber=-1;
int colNumber = -1;
int rN= 0;
int cN = 0;
try{
// Open the file that is the first
// command line parameter
FileInputStream fstream = new FileInputStream("start.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
String[] temp = strLine.split(" ");
rowNumber = Integer.parseInt(temp[0].substring(1, temp[0].length()));
colNumber = Integer.parseInt(temp[1].substring(1, temp[1].length()));
String colour = temp[2];
if(rowNumber == 0)
rN =0;
else if(rowNumber == 1)
rN =1;
else if(rowNumber == 2)
rN =2;
else if(rowNumber == 3)
rN =3;
else if(rowNumber == 4)
rN =4;
else if(rowNumber == 5)
rN =5;
if(colNumber == 0)
cN =0;
else if(colNumber == 1)
cN =1;
else if(colNumber == 2)
cN =2;
else if(colNumber == 3)
cN =3;
else if(colNumber == 4)
cN =4;
else if(colNumber == 5)
cN =5;
if (colour == "Red")
buttons[rN][cN].setBackground(Color.RED);
System.out.println(""+rN);
System.out.println(""+cN);
}
//Close the input stream
in.close();
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
这是ButtonColours类的方法。现在我如何将按钮设置为指定的颜色,因为我现在正在做的事情似乎不起作用。
答案 0 :(得分:4)
不幸的是, 没有可靠的方法来更改任何JButton
的颜色。一些“外观和感觉”实现不遵守setBackground()
设置的颜色。你最好只是在面板中添加一个MouseListener
来监听鼠标上升事件,然后对它们做出响应,而不是使用按钮。
答案 1 :(得分:2)
(也许直接使用JColorChooser)
不要使用两个JFrames
使用JOptionsPane放置返回Color的JButtons,或者使用JDialog(parent, true)
答案 2 :(得分:2)
为了更改Colour
的{{1}},首先你必须记住一件事,总是使用JButton
作为@Robin向我提出的建议:-)。从Java Docs中获取对buttonObject.setOpaque(true);
setOpaque(true/false)
这里我稍微修改了你的代码,并添加了一些关于我添加的内容的评论,看看这是你想要的。
Sets the background color of this component. The background color
is used only if the component is opaque
这是这个东西的输出: - )
答案 3 :(得分:2)
在 L& F中更改按钮外观的一种方便可靠的方法是实现Icon
界面,如example所示。