您將有實例,從而具有第二幀(要顯示)的第二類..然後,如果你調用調用setVisible(真)..那麼它必須證明..你在做什麼..你能提供你的按鈕的事件處理..
,這是不好的做法
所以我個人建議你切換到像JTABBEDPANES或更好的替代品CARDLAYOUT
和consid呃意見以及..很好的意見傢伙:) ..尤其是在使用的JDialog此背景下:)
好,如果你仍然想在你的上下文幫助:一個樣本:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class JFrame1 extends JFrame
{
public JFrame1()
{
setLayout(new FlowLayout());
JButton b=new JButton("Click");
add(b);
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
JFrame jf = new JFrame2();
jf.setVisible(true);
jf.setSize(200, 200);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
);
}
public static void main(String args[])
{
JFrame jf = new JFrame1();
jf.setVisible(true);
jf.setSize(200, 200);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
和第二類:
import javax.swing.*;
import java.awt.*;
class JFrame2 extends JFrame
{
public JFrame2()
{
setLayout(new FlowLayout());
add(new JLabel("2nd Frame"));
}
}
但同樣,我仍然會建議改用其他方法如我前面提到的:tabbedpanes,cardlayout等。 希望我幫助:)
看到這個例子HTTP ://stackoverflow.com/questions/5665156/calling-awt-frame-methods-from-subclass/5786005#5786005。它可能對你有用。 – Bishan 2012-03-28 02:48:45
1)爲了更快地獲得更好的幫助,請發佈[SSCCE](http://sscce.org/)。 2)*「我有兩個JFrame。」*參見[使用多個JFrames,好/壞實踐?](http://stackoverflow.com/a/9554657/418556) – 2012-03-28 02:49:02
第二個依賴窗口應該是一個JDialog,不是JFrame。 – 2012-03-28 03:09:41