2013-10-10 22 views
0

我想隱藏滾動條的垂直條,但我希望它繼續垂直滾動。這是我的代碼:隱藏滾動條,但它繼續工作

JScrollPane scroll=new JScrollPane(arbol); 
     scroll.setBounds(35,40, 230, 530); 
     scroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); 
     scroll.setBorder(null); 
     scroll.setOpaque(false); 
     scroll.getVerticalScrollBar().setBorder(null); 
     scroll.getViewport().setOpaque(false); 
     JLabel sep=new JLabel(Imagen("SeparaV.png")); 
     sep.setSize(scroll.getSize()); 
     sep.setLocation(-17, 0); 
     sep.setHorizontalAlignment(JLabel.RIGHT); 
     scroll.add(sep); 
     Frame.add(scroll); 

對我來說,它是好的,如果它只顯示箭頭。所以這正是我需要的:

enter image description here

+0

'對我來說是好的,如果只顯示箭頭 - 我認爲不是,不好,刪除增加/減少按鈕到setPreferredSize爲(0,0),然後用透明度覆蓋拇指,在這裏幾次,e.i. – mKorbel

+0

箭頭是滾動條的一部分... – MadProgrammer

回答

0

對我來說是一件好事,如果只顯示箭頭

我假定你的意思是你不希望看到在中間的欄用於拖動滾動條。如果是這樣,那麼你可以使用滾動條的默認操作創建一個簡單的面板只有箭頭按鈕:

enter image description here

import java.awt.*; 
import javax.swing.*; 
import javax.swing.plaf.basic.*; 

public class ScrollPaneSSCCE extends JPanel 
{ 
    public ScrollPaneSSCCE() 
    { 
     setLayout(new BorderLayout()); 
     JTable table = new JTable(50, 5); 
     JScrollPane scrollPane = new JScrollPane(table); 
     scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER); 
     add(scrollPane); 
     JScrollBar vertical = scrollPane.getVerticalScrollBar(); 

     JPanel east = new JPanel(new BorderLayout()); 
     add(east, BorderLayout.EAST); 

     BasicArrowButton north = new BasicArrowButton(BasicArrowButton.NORTH); 
     north.setAction(new ActionMapAction("", vertical, "negativeUnitIncrement")); 
     east.add(north, BorderLayout.NORTH); 

     BasicArrowButton south = new BasicArrowButton(BasicArrowButton.SOUTH); 
     south.setAction(new ActionMapAction("", vertical, "positiveUnitIncrement")); 
     east.add(south, BorderLayout.SOUTH); 
    } 

    private static void createAndShowUI() 
    { 
     JFrame frame = new JFrame("ScrollPaneSSCCE"); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     frame.add(new ScrollPaneSSCCE()); 
     frame.setSize(200, 300); 
     frame.setLocationByPlatform(true); 
     frame.setVisible(true); 
    } 

    public static void main(String[] args) 
    { 
     EventQueue.invokeLater(new Runnable() 
     { 
      public void run() 
      { 
       createAndShowUI(); 
      } 
     }); 
    } 
} 

您將需要檢查Action Map Action瞭解如何工作的。

+0

我有,但我需要鼠標滾輪的作品 – WearFox