布局似乎有问题,JButton在调整窗口大小时显示出意外的行为。JRE版本1.7更新3预期行为当我运行这个程序的时候,它像预期的那样工作,一切都很顺利。就像我点击STOP JButton动画停止,文本位于相同的位置。JButton改变到START..现在当我点击BALL COLOUR JButton的颜色BALL更改,以及BALL COLOUR JBUTTON,也更改为BALL..如果我按照没有调整大小的方式运行我的应用程序,那么整个行为都可以工作。意外行为但当我RESIZE我的JFrame,通过拉Right Side,这时显示了我的应用程序的意外行为,在某种意义上说,如果我按下STOP JButton然后单击BALL COLOUR按钮上的文本。JButton单击其文本更改为START将改为STOP再次,当它不应该,以及颜色的BALL COLOUR JButton将保持不变或转向BLUE,当它应该改变成球的颜色时。我是附加图片获得更多的信息。但是如果你想把它调整到原来的大小或者更接近它,事情就会恢复正常。为什么会发生这种事?任何想法或线索都会很感激。底线:为什么应用程序照常运行,在BEGINNING,但不是什么时候RESIZED拖着它RIGHT SIDE但是,如果你把它恢复到原来的大小或者更接近它,事情就会恢复正常,它会像预期的那样工作吗?所以考虑到这个场景,我是不是做错了什么,在程序中。或者这正是我应该使用SwingWorker,或者这是与Layout,或隐藏的与.有关的东西Content Pane..请放点灯:-)下面是我正在使用的代码,我把它降到了最低限度,我认为这是为了演示我的问题:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class BallAnimation{
private int x;
private int y;
private boolean positiveX;
private boolean positiveY;
private boolean isTimerRunning;
private int speedValue;
private int diameter;
private DrawingArea drawingArea;
private Timer timer;
private int colourCounter;
Color[] colours = {
Color.BLUE.darker(),
Color.MAGENTA.darker(),
Color.BLACK.darker(),
Color.RED.darker(),
Color.PINK.darker(),
Color.CYAN.darker(),
Color.DARK_GRAY.darker(),
Color.YELLOW.darker(),
Color.GREEN.darker()
};
private Color backgroundColour;
private Color foregroundColour;
private ActionListener timerAction = new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
x = getX();
y = getY();
drawingArea.setXYColourValues(x, y, backgroundColour
, foregroundColour);
}
};
添加回答
举报
0/150
提交
取消