Так что я создал GUI Java, как на рисунке внизу (Извинения для ужасно окрашенного отдыха):Перемещение JPanels использованием TimerTask
Layout для Java GUI
Все JPanel, являются равный размер (не показан на чертеже). То, что я пытаюсь сделать, это сделать так, что, когда я что-то делаю с индикаторами выполнения (чтение I.E некоторых текстовых файлов), JPanels будет циклически переходить. Как и в красном, вы пойдете на дно, оранжевый пойдет на вершину и, таким образом, продолжит движение в этом цикле. Я бы хотел, чтобы они меняли каждую половину секунды и ждали через 2 секунды после того, как программа открыта, чтобы начать движение. Я также хотел бы, чтобы они остановились, когда один из индикаторов прогресса достиг 100%.
После некоторого чтения я думаю, что класс Java TimerTask был бы хорош для этого, но у меня нет опыта с ним, и я не совсем уверен, как я буду делать что-то подобное с ним.
Любые подсказки или идеи о том, как это сделать, будем очень благодарны!
* «После выполнения некоторых чтении я думаю, что класс Java TimerTask будет хорошо подходит для этого» * - На самом деле, Swing 'Timer' будет более безопасным – MadProgrammer
@MadProgrammer, ладно. Я думаю, что смогу сделать эту работу, поскольку я знаю некоторые основы Timer. Однако есть ли у вас какие-либо идеи о том, как я должен действительно продвигать JPanels? Я никогда не пробовал переместить их раньше. Сейчас у меня все сидят на главной панели с раскладкой Box. Должен ли я изменить это на GridLayout и изменить столбцы, в которых они находятся, чтобы переместить их? Или есть более простой способ сделать это, чтобы я отсутствовал? –
Это может быть очень сложно, вы можете использовать макет «прокси», продемонстрированный [здесь] (http://stackoverflow.com/questions/14540080/animations-when-using-gridbag-layout/14541651#14541651), [здесь ] (http://stackoverflow.com/questions/32368190/too-many-jpanels-inside-a-jpanel-with-gridbaglayout/32372506#32372506) и [здесь] (http://stackoverflow.com/questions/27463989/java-moving-jlabel-two-using-timer/27466801 # 27466801), или вы можете использовать один из доступных lirabries, упомянутых здесь [http://stackoverflow.com/questions/17625475/sliding-any-jpanel/17625831 # 17625831) – MadProgrammer