大家好,我是位初学者按键事件:newActionListener(){publicvoidactionPerformed(ActionEventevent){startJButtonActionPerformed(event);musicActionPerformed(event);}});照理说,应...
大家好,我是位初学者
按键事件:
new ActionListener()
{
public void actionPerformed( ActionEvent event )
{
startJButtonActionPerformed( event );
musicActionPerformed( event );
}
}
);
照理说,应该先执行startJButtonActionPerformed( event );事件,然后再执行musicActionPerformed( event );
可是,执行时却是先执行musicActionPerformed( event );事件,而且执行时无法关闭程序。而startJButtonActionPerformed( event );是在之后再执行。
请问这是怎么回事?
musicActionPerformed的代码:
private void musicActionPerformed( ActionEvent event )
{
bgm1.BGMStop();
sql1.setSQL( "select seName from youseise where seTitle = 'yousei-op01'", "seName" );
se1.SEPlay( sql1.getSQL() );
sql1.setNum( "select Time from youseise where seTitle = 'yousei-op01'", "Time" );
try
{
Thread.sleep( sql1.getNum() );
}
catch( InterruptedException Exception )
{
Exception.printStackTrace();
}
sql1.setSQL( "select seName from jackse where seTitle = 'jack-op01'", "seName" );
se1.SEPlay( sql1.getSQL() );
sql1.setNum( "select Time from jackse where seTitle = 'jack-op01'", "Time" );
try
{
Thread.sleep( sql1.getNum() );
}
catch( InterruptedException Exception )
{
Exception.printStackTrace();
}
sql1.setSQL( "select seName from youseise where seTitle = 'yousei-duel'", "seName" );
se1.SEPlay( sql1.getSQL() );
sql1.setSQL( "select seName from jackse where seTitle = 'jack-duel'", "seName" );
se1.SEPlay( sql1.getSQL() );
sql1.setNum( "select Time from jackse where seTitle = 'jack-duel'", "Time" );
try
{
Thread.sleep( sql1.getNum() );
}
catch( InterruptedException Exception )
{
Exception.printStackTrace();
}
sql1.setSQL( "select musicName from music where musicTitle = 'battle1'", "musicName" );
bgm1.BGMloop( sql1.getSQL() );
}
startJ的代码:
private void startJButtonActionPerformed( ActionEvent event )
{
LP l1 = new LP();
LP l2 = new LP();
sql1.setNum( "select lp from duijue", "lp" );
l1.setJLabel( meLPJLabel );
l1.move( meLPJLabel, sql1.getNum() );
sql1.setNum( "select dlp from duijue", "dlp" );
l2.setJLabel( comLPJLabel );
l2.move( comLPJLabel, sql1.getNum() );
我也知道是线程问题,可是怎么解决呢?
我不用线程睡眠sleep,用时间等待wait(3000),但问题依旧啊!
展开