Qui*_*ion 4 java swing jpanel jframe
我有一个包含大量上下文的JPanel.
我希望能够将所述JPanel添加到两个JFrame中.有小费吗?
这是我想要的例子
public class Test
{
public static void main(String [] args)
{
JPanel panel = new JPanel();
panel.add(new JLabel("Hello world"));
panel.validate();
JFrame frame1, frame2;
frame1 = new JFrame("One");
frame2 = new JFrame("Two");
frame1.add(panel);
frame2.add(panel);
frame1.validate();
frame2.validate();
frame1.setVisible(true);
frame2.setVisible(true);
frame1.pack();
frame2.pack();
}
}
Run Code Online (Sandbox Code Playgroud)
我希望两个JFrame都显示hello world,而不是一个显示它而另一个显示为空.如果JPanel更新中的数据,我希望两个JFrame都显示它.
感谢任何人的帮助,这一直困扰着我.
我认为你不能.java.awt.Container
当你添加一个代码时,代码包含这个花絮Component
.这里,读JFrame
了Container
和你JPanel
的comp
:
/* Reparent the component and tidy up the tree's state. */
if (comp.parent != null) {
comp.parent.remove(comp);
if (index > component.size()) {
throw new IllegalArgumentException("illegal component position");
}
}
Run Code Online (Sandbox Code Playgroud)
(那是java.awt.Container.addImpl(Component, Object, int)
)
所以就在那里,当你把它添加到另一个时Container
,它将它从旧的中删除Container
.我想你可以重写这个基本级别的AWT代码,但我不推荐它.