Этот код вызывает Jframe с моей «Paneltest» jpanel внутри.Как перефокусироваться на Jframe каждые несколько секунд?
Панельный тест имеет текстовое поле и кнопку, которая запускает веб-страницу со всем, что находится в текстовом поле в конце URL-адреса, I.E. (www.website.com/textfield)
Когда веб-страница запущена, он тянет фокус с jframe, способы, с которыми я пытался переориентировать его, пока не сработали.
JFrame f = new JFrame("KioskApp");
f.setSize(800, 600);
Paneltest Paneltest = new Paneltest();
f.add(Paneltest);
f.setVisible(true)
Я попытался окружающим этот код некоторого времени заявления и добавление f.dispose и Thread.sleep (х) до конца, чтобы получить его, чтобы закрыть рамку и довести его снова через несколько секунд, но это вызвало Paneltest не появится в кадре.
В любое время, когда я добавил цикл while, он остановил Paneltest, чтобы не появляться, поэтому я не смог проверить другие методы, такие как f.toFront или f.requestfocus.
Что я могу добавить, чтобы он постоянно перефокусировал или перезапустил Jframe правильно.
Редактировать: Это сейчас, где я нахожусь.
Если я добавлю код, предложенный マ ル ち ゃ ん だ よ, тогда все, что происходит, - это вкладка для подсветки рамки на панели задач.
BringToFront
package kioskapp;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JFrame;
/**
*
* @author jorent
*/
public class BringToFront {
JFrame frame;
Timer timer;
public BringToFront(JFrame frame) {
this.frame = frame;
timer = new Timer();
timer.schedule(new ToFrontTask(), 5000);
}
class ToFrontTask extends TimerTask {
@Override
public void run() {
frame.toFront();
frame.repaint();
}
}
}
Вот отрывок из кода, где я реализую фрейм, что необходимо переориентировать
InitialSetupPane
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
JFrame f1 = new JFrame("KioskApp");//initializes frame to open the panel
f1.setSize(650, 400);// Functionless setting of the size, I used it to approximate the size of the destination screen
Paneltest Paneltest = new Paneltest();//initializes Panel to be put in the fram
f1.add(Paneltest);// puts the panel in the fram
f1.setUndecorated(true);// Removes the ability to mess with the screen
f1.setVisible(true);//makes the frame visible
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// When not fullscreen(not a possibility now) changes the (X) button to close instead of hide the frame
f1.setExtendedState(JFrame.MAXIMIZED_BOTH);// Fullsc
new BringToFront (f1);
}
Если добавить .alwaysontop в вывести на передний план, он будет работать, но я не позволяю мне ype в текстовое поле кадра без щелчка по окну (щелчок будет отключен для конечного пользователя, так что это не сработает).
Это делает его так, что кадр будет выделен в панели задач, но не приносит это на фронт. Я посмотрел на ссылку, которую вы предоставили (проблема у них была именно такая), но как я могу использовать .invokelater и таймер вместе? – JorangeThiessen
Я отредактировал, чтобы добавить этот пример использования –