이 코드는 내 'Paneltest'jpanel이있는 Jframe을 가져옵니다.몇 초마다 Jframe에서 다시 초점을 맞추는 방법?
패널 테스트에는 URL 끝에있는 텍스트 필드의 내용이있는 웹 페이지를 시작하는 텍스트 필드와 버튼이 있습니다. (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를 (X)를 추가하려했지만 그것은 원인 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();
}
}
}
내가가 .alwaysontop 추가하면
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);
}
을 집중할 필요가 JFrame의 구현 코드에서 조각입니다 정면으로 가져 오면 작동하지만 나에게 내게 알려줘. 창을 클릭하지 않고 프레임의 텍스트 필드에 아무 것도 입력하지 마십시오 (최종 사용자에게는 클릭이 비활성화되어 작동하지 않습니다).
이 만드는 그 프레임은 작업 표시 줄에서 강조되지만 가져 오지 않도록 그것을 앞으로. 당신이 제공 한 링크를 보았습니다. (그들이 가지고있는 문제는 정확히 이것입니다.) .invokelater와 timer를 어떻게 함께 사용합니까? – JorangeThiessen
그 사용 예를 추가하기 위해 편집 됨 –