Java JFrame是可见的,即使我没有';t write:frame.setVisible(true)
所以我在用JFrames做一个项目。当程序启动时,它在名为“initialThread”的方法中创建一个JFrame,然后在名为“initialize”的方法中设置边界、默认关闭操作和可见性。 调试方法“initialThread”时,框架自动变为可见,无需执行“initialize”方法 我运行方法的代码:Java JFrame是可见的,即使我没有';t write:frame.setVisible(true),java,eclipse,methods,jframe,frame,Java,Eclipse,Methods,Jframe,Frame,所以我在用JFrames做一个项目。当程序启动时,它在名为“initialThread”的方法中创建一个JFrame,然后在名为“initialize”的方法中设置边界、默认关闭操作和可见性。 调试方法“initialThread”时,框架自动变为可见,无需执行“initialize”方法 我运行方法的代码: public void loadPanels(){ initialThread(); initialize(); } public void initia
public void loadPanels(){
initialThread();
initialize();
}
public void initialThread(){
try {
EventQueue.invokeAndWait(new Runnable() {
public void run() {
try {
frame = new JFrame();
frame.setAlwaysOnTop (true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
/**
* set the basic functions and configurations of the frame.
*/
private void initialize() {
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
下面是我所说的两种方法的代码:
public void loadPanels(){
initialThread();
initialize();
}
public void initialThread(){
try {
EventQueue.invokeAndWait(new Runnable() {
public void run() {
try {
frame = new JFrame();
frame.setAlwaysOnTop (true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
/**
* set the basic functions and configurations of the frame.
*/
private void initialize() {
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
在初始化方法中,您确实编写了“frame.setVisible(true);”@Mano176是的,我知道。问题是调试方法“initialThread”时,框架已经出现。我只是在调试INITIALTHREAD。我想你的意思是在
INITIALTHREAD()
方法的某个地方放了一个断点,当执行在这个断点处停止时,窗口就已经可见了。你能告诉我们它到底放在哪一行吗?@Benoit是的,没错。我把断点放在调用方法initialThread
的地方。但是根据你给我们看的代码,这个框架甚至没有在这个位置创建,它怎么可能是可见的?在初始化方法中你写了“frame.setVisible(true);”@Mano176是的,我知道。问题是调试方法“initialThread”时,框架已经出现。我只是在调试INITIALTHREAD。我想你的意思是在INITIALTHREAD()
方法的某个地方放了一个断点,当执行在这个断点处停止时,窗口就已经可见了。你能告诉我们它到底放在哪一行吗?@Benoit是的,没错。我把断点放在调用方法initialThread
的地方。但是根据你给我们看的代码,这个框架甚至没有在这个位置创建,它怎么可能是可见的?