2014-02-15 117 views
0

我有一個JToolbar。我想知道是否有辦法阻止它橫向。我寧願它只是垂直。我確實希望它漂浮。JToolbar,停止水平移動

我試圖讓一個屬性更改偵聽器,並將方向改回到垂直,但沒有運氣。 謝謝

回答

1

只使用默認浮動的其他佈局。並使用垂直佈局。

JToolbar toolbar= new JToolbar(); 
toolbar.setLayout(new BoxLayout(toolbar, BoxLayout.Y_AXIS)); 

您也可以在所有

toolbar.setLayout(null); 

不使用任何佈局但這將是默認的水平。

0

您需要添加一行:

toolBar.setOrientation(javax.swing.SwingConstants.VERTICAL); 

代碼示例:

import java.awt.Color; 
import java.awt.Dimension; 
import javax.swing.JFrame; 
import javax.swing.JMenu; 
import javax.swing.JPanel; 
import javax.swing.JToolBar; 
import javax.swing.SwingConstants; 


class VerticalJToolbar 
{ 
    public static void main(String args[]) 
    { 
     JFrame frame = new JFrame("VerticalJToolbarTest"); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setSize(480, 480); 
     frame.setResizable(true); 
     frame.setLocationRelativeTo(null); 

     JPanel panelOrange = new JPanel(); 
     panelOrange.setBackground(Color.ORANGE); 
     panelOrange.setPreferredSize(new Dimension(100, 100)); 

     JPanel panelBlue = new JPanel(); 
     panelBlue.setBackground(Color.BLUE); 
     panelBlue.setPreferredSize(new Dimension(100, 100)); 

     JPanel panelGreen = new JPanel(); 
     panelGreen.setBackground(Color.GREEN); 
     panelGreen.setPreferredSize(new Dimension(100, 100)); 

     JPanel panelRed = new JPanel(); 
     panelRed.setBackground(Color.RED); 
     panelRed.setPreferredSize(new Dimension(100, 100)); 

     JMenu menu1 = new JMenu("Menu 1"); 
     JMenu menu2 = new JMenu("Menu 2"); 
     JMenu menu3 = new JMenu("Menu 3"); 
     JMenu menu4 = new JMenu("Menu 4"); 

     JToolBar toolBarHorizontal = new JToolBar(); 
     toolBarHorizontal.add(menu1); 
     toolBarHorizontal.add(menu2); 
     toolBarHorizontal.add(menu3); 
     toolBarHorizontal.add(menu4); 

     JToolBar toolBarVertical = new JToolBar(); 
     toolBarVertical.setOrientation(SwingConstants.VERTICAL); 
     toolBarVertical.add(panelOrange); 
     toolBarVertical.add(panelBlue); 
     toolBarVertical.add(panelGreen); 
     toolBarVertical.add(panelRed); 

     JPanel panelCenter = new JPanel(); 
     panelCenter.setBackground(Color.WHITE); 

     frame.add(toolBarHorizontal, java.awt.BorderLayout.NORTH); 
     frame.add(toolBarVertical, java.awt.BorderLayout.WEST); 
     frame.add(panelCenter, java.awt.BorderLayout.CENTER); 

     frame.setVisible(true); 
    } 
} 

截屏:

http://img11.hostingpics.net/pics/207806801.png