2011-09-07 176 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