Java 将JFrame从另一个类添加到主GUI框架
我有两节课。 1.一个类包含Netbeans GUI builder生成的所有GUI代码(称为GUI类) 2.另一个类包含一些包含方法的代码(SaveTraffic,它扩展了SwingWorker) 在我的SaveTraffic中,我创建了一个框架,当我运行应用程序时,它会弹出并出现在我的GUI前面。我想将这个框架添加到我的GUI中我想放置它的特定位置。这怎么可能?这是我的交通代码Java 将JFrame从另一个类添加到主GUI框架,java,swing,jframe,Java,Swing,Jframe,我有两节课。 1.一个类包含Netbeans GUI builder生成的所有GUI代码(称为GUI类) 2.另一个类包含一些包含方法的代码(SaveTraffic,它扩展了SwingWorker) 在我的SaveTraffic中,我创建了一个框架,当我运行应用程序时,它会弹出并出现在我的GUI前面。我想将这个框架添加到我的GUI中我想放置它的特定位置。这怎么可能?这是我的交通代码 public class SaveTraffic extends SwingWorker<Void, Str
public class SaveTraffic extends SwingWorker<Void, String> {
public static int k = 0;
public GUI f = new GUI();
public static Frame u = new Frame();
public static JTextArea h = new JTextArea();
JScrollPane scrollPane2 = new JScrollPane(h, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
@Override
public Void doInBackground() throws IOException {
u.setSize(950, 200);
u.setLocation(0,550);
u.add(scrollPane2);
u.setVisible(true);
while (f.num() != 2) {
{
publish("Hello World");
}
}
return null;
} //end main function
@Override
public void process(List<String> chunks) {
for (final String text : chunks) {
Runnable r = new Runnable() {
@Override
public void run() {
h.setLineWrap(true);
h.append(text + "\n");
}
};
new Thread(r).start();
}
}
@Override
public void done() {
System.out.println("I am DONE");
}
}
公共类SaveTraffic扩展SwingWorker{
公共静态int k=0;
公共GUI f=新GUI();
公共静态帧u=新帧();
公共静态JTextArea h=新JTextArea();
JScrollPane scrollPane2=新的JScrollPane(h,JScrollPane.VERTICAL\u滚动条\u始终,
JScrollPane.水平滚动条(始终);
@凌驾
public Void doInBackground()引发IOException{
u、 设置大小(950200);
u、 设定位置(0550);
u、 添加(滚动窗格2);
u、 setVisible(真);
而(f.num()!=2){
{
出版(“你好世界”);
}
}
返回null;
}//结束主函数
@凌驾
公共作废流程(列表块){
for(最终字符串文本:块){
Runnable r=新的Runnable(){
@凌驾
公开募捐{
h、 setLineWrap(真);
h、 追加(文本+“\n”);
}
};
新线程(r.start();
}
}
@凌驾
公众假期结束(){
System.out.println(“我完成了”);
}
}
您创建了一个扩展JPanel的类。然后您在其中执行所有代码,并将其与您的方法类绑定。您创建了一个扩展JPanel的类。然后在其中执行所有代码,并将其与方法类绑定。我发现代码中存在几个问题:
setModal()
来选择对话框是模态对话框还是非模态对话框(可选)我也会考虑在SaveTraffic中添加一个构造函数并初始化其中的大部分代码。
我看到代码中的几个问题:setModal()
来选择对话框是模态对话框还是非模态对话框(可选),我也会考虑在SaveTraffic中添加构造函数并初始化其中的大部分代码。
UL>SwingWorker的方法中构建SwingGUI
,SwingWorker
被指定为添加/修改/更改已存在的JComponent
中的值
process()
或publish()
添加到SwingWorker
,在此方法内定期将值或文本附加到JTextArea
SwingWorker的状态添加
- 不要在
SwingWorker的
方法中构建
,SwingGUI
被指定为SwingWorker
添加/修改/更改
已存在的
中的值JComponent
- 将
或process()
添加到publish()
,在此方法内定期将值或文本附加到SwingWorker
JTextArea
- 对于“监控”
SwingWorker的状态添加