У меня есть программа Java Swing, где фоновые программы выполняются при изменении jSlider. Но jSlider не может быть изменен человеческим взаимодействием, но он автоматически уменьшается (jSlider представляет собой уровень концентрации жидкости). После его уменьшения другая программа считывает jSlider с помощью actionListener и обеспечивает соответствующее растворение для удовлетворения потребностей в концентрации. Я не могу достичь этого сценария. Я пробовал использовать поток, но из-за моего небольшого знания, вероятно, я не пишу правильный код.Заменить jSlider через определенные секунды автоматически
public static void main(String args[])
{
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable()
{
@Override
public void run()
{
new IPS().setVisible(true);
}
});
Thread concentration = new Thread()
{
public void run()
{
try
{
Thread.sleep(3000);
} catch (InterruptedException v)
{
}
sldLevel.setValue(sldLevel.getValue() - 3);
}
};
boolean carryOn = true;
while (carryOn && !btnIPSStart.isEnabled())
{
concentration.start();
}
}
код Обновление с свинг Таймер
public static void main(String args[])
{
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable()
{
@Override
public void run()
{
new IPS().setVisible(true);
}
});
Timer myTimer = new Timer(100, 1000);
// I get a error 'int cannot be converted to action listener
while (myTimer.isRunning)
{
sldLevel.setValue(sldLevel.getValue() - 3)
}
Использование Swing 'Timer' – MadProgrammer
Я не вижу большого отношения между вашим введением и вашим кодом. – user1803551
@MadProgrammer вы можете мне помочь в коде. – user3337714