2011-09-07 47 views
0

我必須在我的GUI上實現4個功能。功能是獨家的。每個功能都可以有多個用戶可以執行的命令。所有這些只能在工具欄中用圖標和按鈕表示。我正在尋找示例和想法來創建這種工具欄。工具欄擺動應用程序

+0

的GUI圖形用戶界面,對不起。 – LionO

回答

1

Multi-Tool Bar

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 

class MultiToolBar { 

    private static void addButtons(Container c, int i, JButton[] b) { 
     int startAt = (i==0 ? 0 : i*3); 
     int endAt = startAt+3; 
     for (int ii = startAt; ii<endAt; ii++) { 
      c.add(b[ii]); 
     } 
     c.validate(); 
    } 

    public static void main(String[] args) { 
     SwingUtilities.invokeLater(new Runnable() { 
      public void run() { 
       final JToolBar tb = new JToolBar(); 
       final JButton[] buttons = new JButton[12]; 
       for (int ii=0; ii<buttons.length; ii++) { 
        buttons[ii] = new JButton("Button " + (ii+1)); 
       } 

       String[] functions = new String[4]; 
       for (int ii=0; ii<functions.length; ii++) { 
        functions[ii] = "Function " + (ii+1); 
       } 

       final JComboBox cb = new JComboBox(functions); 
       tb.add(cb); 
       cb.addItemListener(new ItemListener(){ 
        public void itemStateChanged(ItemEvent lse) { 
         Component[] components = tb.getComponents(); 
         for (Component component : components) { 
          if (!(component instanceof JComboBox)) { 
           tb.remove(component); 
          } 
         } 
         int index = cb.getSelectedIndex(); 
         addButtons(tb, index, buttons); 
        } 
       }); 
       cb.setSelectedIndex(3); 

       JOptionPane.showMessageDialog(null, tb); 
      } 
     }); 
    } 
} 
+0

不錯主意:),謝謝。 – LionO