2012-02-14 4 views
-1

私はGUIの経験がないので、私はちょうど周りにうんざりして、物事を把握しようと夢中になっています。私が今いるのは、私がIボタンを押すと、別のウィンドウが名前付きのコンボボックスとウィンドウを閉じるボタンをポップアップし、選択した選択肢をメインウィンドウに返すことです。 私が見えなくなるために、またはどのようにそれはあなたの条件を満たしているかどうかを確認、私の元のウィンドウ(library_GUI)情報を送信し、リリース時に閉じるボタンを作成するにはどうすればよいですか?

 JComboBox nameBox = new JComboBox(names.toArray()); 
    contentPane.add(nameBox, BorderLayout.NORTH); 
    String nam = (String)nameBox.getSelectedItem(); 
    JButton checkOutButton = new JButton("Check Out"); 
    checkOutButton.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent arg0) { 
      JFrame.setVisible(false); 
     } 
+2

私の意見では、ウィンドウはJFrameの代わりにJDialogのインスタンスです。 – Alanmars

+1

JOptionPaneやJDialogなどの第2のウィンドウとしてモーダルダイアログを使用します。次に、最初のクラスに、ダイアログが返された後にコンボボックスを照会させるだけです。 –

答えて

1

私はあなたのためのデモを行っているに戻って情報を送信するために、ウィンドウを取得するように見えることはできません。

public class JDialogDemo 
{ 
    public JDialogDemo() 
    { 
    JFrame mainWindow = new JFrame("mainWindow"); 
    mainWindow.setBounds(300, 300, 300, 300); 
    mainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

    final JDialog dlg = new JDialog(mainWindow, true); 
    dlg.setBounds(300, 300, 200, 100); 
    final JComboBox box = new JComboBox(new String[]{"A", "B"}); 
    JButton okBtn = new JButton("Ok"); 
    okBtn.addActionListener(new ActionListener() { 

     @Override 
     public void actionPerformed(ActionEvent e) 
     { 
      Object item = box.getSelectedItem(); 
      System.out.println(item); 
      dlg.setVisible(false); 
     } 

    }); 
    dlg.getContentPane().setLayout(new BorderLayout()); 
    dlg.getContentPane().add(box, BorderLayout.NORTH); 
    dlg.getContentPane().add(okBtn, BorderLayout.CENTER); 

    JButton popupBtn = new JButton("Popup"); 
    popupBtn.addActionListener(new ActionListener() { 

     @Override 
     public void actionPerformed(ActionEvent e) 
     { 
      dlg.setVisible(true); 
     } 

    }); 
    mainWindow.getContentPane().add(popupBtn, BorderLayout.NORTH); 

    mainWindow.setVisible(true); 
} 

public static void main(String[] args) 
{ 
    new JDialogDemo(); 
} 
} 

幸運を祈ってください。

+0

1+努力のため。ダイアログで取得したデータを抽出して表示する呼び出しウィンドウを示す小さなコードを追加するだけです。 –

関連する問題