2011-12-21 198 views

回答

6

我猜JDialog是你所需要的。

有關詳細信息,請參閱本:How to Make Dialogs

這裏有一個例子:

enter image description here

import javax.swing.JButton; 
import javax.swing.JDialog; 
import javax.swing.JFrame; 
import javax.swing.JOptionPane; 

public class CreateDialogFromOptionPane { 

    public static void main(final String[] args) { 
     JFrame parent = new JFrame(); 
     JButton button = new JButton(); 

     button.setText("Click me to show dialog!"); 
     parent.add(button); 
     parent.pack(); 
     parent.setVisible(true); 

     button.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       JOptionPane optionPane = new JOptionPane("Is this what you need?", JOptionPane.QUESTION_MESSAGE,JOptionPane.YES_NO_OPTION); 
       JDialog dialog = optionPane.createDialog("Dialog"); 
       dialog.setVisible(true); 
      } 
     }); 
    } 
} 
+0

我從來沒有使用過。你能舉一個例子嗎? – PulsePanda

+0

@ ajv857請參閱編輯 – COD3BOY

+0

它不工作。我使用'JOptionPane.showMessageDialog(框架,「雞蛋不應該是綠色的。」);'例子,但'showMessageDialog'突出顯示爲錯誤,'frame'也是如此,因爲「它無法找到變量FRAME「 – PulsePanda

2

我認爲,通過工具CardLayout可以解決

+0

好的。你知道我在哪裏implament在netbeans與自動代碼? – PulsePanda

+0

,因爲這正是我想要的,除非我想要一個按鈕來做到這一點,而不是直接可能的下拉菜單 – PulsePanda

+0

,因爲Java Deskop Aplications是基於Swing方法的框架,我從來沒有使用過,因爲如你所見,不可能許多基本的方法直接寫,有實現onw邏輯,Swing,你可以在這個論壇上看到的是(大多數人)關於手寫代碼, – mKorbel

2

首先你需要爲你的按鈕的事件處理程序,然後在你的處理器,你應該創建你的面板,並使其可見。如果您想更多的是彈出式的,你應該使用這樣的:

JOptionPane.showMessageDialog(frame, "This is my message"); 

,將創建一個警告信息,你也可以創建自己的服裝對話框我建議閱讀this

1

可以使用未修飾的顯示面板JDialog

public static void main(String args[]) 
    { 
     final JDialog bwin = new JDialog(); 
     bwin.addWindowFocusListener(new WindowFocusListener() 
     { 
      @Override 
      public void windowLostFocus(WindowEvent e) 
      { 
       bwin.setVisible(false); 
       bwin.dispose(); 
      } 

      @Override 
      public void windowGainedFocus(WindowEvent e) 
      { 
      } 
     }); 

     bwin.setUndecorated(true); 

     JLabel label = new JLabel("About"); 

     JPanel panel = new JPanel(); 
     panel.setLayout(new BorderLayout()); 
     panel.add(label); 
     panel.setPreferredSize(new Dimension(200,200)); 

     bwin.add(panel); 
     bwin.pack(); 
     bwin.setVisible(true); 
    } 
相關問題