public class Main extends JFrame{
JLabel lb1,lb2,lb3,lb4;
Button b,b1;
public Main()
{
setLayout(null);
Container c=getContentPane();
setDefaultCloseOperation(EXIT_ON_CLOSE);
getContentPane().setBackground(Color.red);
setVisible(true);
b1=new Button("CONTINUE");
b1.setFont(new Font("Algerian", 1, 20));
b1.setForeground(Color.black);
b1.setBounds(550, 480, 200,40);
b1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{ setVisible(false);
try {
new Frame();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
c.add(b1);
setSize(1290,900);
}
public static void main(String...s) throws InterruptedException
{
new Main();
}
}
这是主类,这是它调用的框架类。
public class Frame extends JFrame{
Frame() throws InterruptedException
{
JFrame f=new JFrame();
f.setVisible(true);
f.setLayout(null);
f.setBounds(0,0,200,200);
Container p=f.getContentPane();
p.setBackground(Color.GREEN);
f.setResizable(false);
Thread.sleep(5000);
setVisible(false);
new Frame1();
}
}
主类调用框架类..它需要保持一段时间,然后再移到另一个框架..但是发生的是主类调用它,该框架出现了,但是其中没有内容。显示,然后移至frame1()//
但是如果我像
新的Frame();
然后按住,显示内容,然后移动。
那么为什么在Main()调用Frame()时它不起作用?
甚至这段代码也不起作用..而不是Thread.sleep()…这样,我不会阻塞任何偶数线程。
for(double i=0;i<30;i++)
{
for(double j=0;j<10000;j++)
{
}
}
新的Frame1();
Swing在称为的单个线程内完成GUI渲染任务Event Dispatch Thread(EDT)
。您可能需要一段时间才能做的任何事情都会阻止EDT,并且您的swing应用程序将被冻结。您通过以下一种说法正在做这样的事情:
Thread.sleep(5000);
始终建议不要使用它NullLayout
。了解Swing开发人员通过辛勤工作为我们创建的适当的布局管理人员。让我们给他们的努力一些价值。
使用函数将GUI渲染任务(包括在内frame
)setVisible(true)
放入EDT中SwingUtilities.invokeLater
。例如:
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new MyWindow().setVisible(true);
}
});
您正在使用多重框架。Swing系列的 也禁止这样做 。Card Layout
家庭可以使用许多替代方法,您可以轻松地避免不必要地使用多帧。给Andrew Thompson
定链接的答案中给出了一些示例。
例如,如果安装龙卷风与pip像这样: 不会返回列表中的tornado包,它只显示: 另外,当我运行时,它会返回: 出什么事了?
我尝试使用OpenGL绘制贝塞尔曲面。我的程序读取一个输入文件,其中包含用于绘图的采样点数量、用于表面着色的控制点和调色板。它必须输出一个带有曲面图的新窗口,我可以在其中操纵曲面和控制点的属性。 从Bernstein多项式生成的点被三角化,并通过从三角形的最小和最大高度映射它来按调色板分配颜色。 不幸的是,它打开了一个窗口,其中当前窗口的一部分在操作系统中打开,而没有为surface创建新界面。
我有一个简单的聊天客户端,我正试图使用作为界面。我的问题是,使用进行聊天输入/输出后,窗口将冻结并阻塞,直到收到另一条消息。 这段代码被缩短了,但是显示了相关的部分。小部件将在很长一段时间内变得无响应,而被调用之后,直到收到消息才会响应。 当小部件再次响应时,条目字段包含输入的所有数据,但在“冻结”时间内我看不到更改。小部件也是如此。 如果有人能解释一下为什么会这样,或者指出我是否错过了这里使用的
在过去的几天里,我一直在解决这个问题。尝试在
我正在使用Linux并试图学习OpenGL。我参考了learnopengl.com网站,并在这里编译了第一个可用的程序。 我似乎在编译程序时没有遇到命令问题 但是当我运行程序时,它会从后面显示东西,而不是像这样的空白窗口 但是请注意,此窗口不透明,因为如果我移动窗口,背景是相同的。但是,如果我最小化并重新打开窗口,则背景是新创建的。专用和集成 GPU 都会发生这种情况。 我需要做什么才能使它正常工
问题内容: 我正在尝试并行化脚本,但是由于未知的原因,内核只是冻结而没有引发任何错误。 最小的工作示例: 有趣的是,如果我在另一个文件中定义函数然后将其导入,则一切都可以正常工作。如何使它工作而无需另一个文件? 我使用spyder(anaconda),如果从Windows命令行运行代码,则结果相同。 问题答案: 发生这种情况是因为在子进程导入时,您没有保护代码的“过程”部分免于重新执行。 它们需要