0

2 つの JFrames を作成し、2 つの JFrames Windows をリンクするために結び付けました。しかし、2番目のJframeでコンテンツを取得できませんでした。誰でもこれで私を助けることができますか?

私の最初のフレーム:

public class Main extends JFrame {

private JPanel contentPane;
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                Main frame = new Main();
                frame.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

/**
 * Create the frame.
 */
public Main() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 450, 300);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);
    contentPane.setLayout(null);

    JButton btnOpenTheJung = new JButton("Open the JUNG window");
    btnOpenTheJung.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            **JungLearning1 frame1 = new JungLearning1();
            frame1.setVisible(true);
            frame1.setSize(600, 400);**
        }
    });
    btnOpenTheJung.setBounds(172, 99, 145, 34);
    contentPane.add(btnOpenTheJung);
}}

私の2番目のフレーム:

public class JungLearning1 extends JFrame {

private JPanel contentPane;

/**
 * Launch the application.
 */
public static void main(String[] args) {

    EventQueue.invokeLater(new Runnable() {

        public void run() {
            try {
                DirectedSparseGraph<String, String> g = new DirectedSparseGraph<String, String>();
                g.addVertex("Vertex1");
                g.addVertex("Vertex2");
                g.addVertex("Vertex3");
                g.addEdge("Edge1", "Vertex1", "Vertex2");
                g.addEdge("Edge2", "Vertex1", "Vertex3");
                g.addEdge("Edge3", "Vertex3", "Vertex1");
                VisualizationImageServer<String, String> vs = new VisualizationImageServer<String, String>(
                        new CircleLayout<String, String>(g), new Dimension(
                                200, 200));

                **JFrame frame1 = new JFrame();
                frame1.getContentPane().add(vs);
                frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame1.pack();
                frame1.setVisible(true);**
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    });
}

/**
 * Create the frame.
 */
public JungLearning1() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 450, 300);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    contentPane.setLayout(new BorderLayout(0, 0));
    setContentPane(contentPane);
}}

最初のウィンドウからボタンをクリックしたときに、コンテンツと一緒に2番目のフレームを表示したい

4

0 に答える 0