改变jScrollPane&的一面改变大小

时间:2010-12-17 20:58:12

标签: java user-interface size jscrollpane

我想将JScrollPane的一侧从右侧(默认)更改为左侧。我该怎么做?

AND:我想更改JScrollBar的大小,因为它是触摸显示屏(22“),因此可以轻松滚动。

非常感谢!

2 个答案:

答案 0 :(得分:6)

根据@camickr对展示位置的建议,这是一个完整的示例

import java.awt.*;
import javax.swing.*;
public class Test {
    public static void main(String[] args) {
        JFrame jf = new JFrame("Scorllbar test");
        JPanel jp = new JPanel() {{ add(new JComponent() {
                { setPreferredSize(new Dimension(450, 450)); }
                public void paintComponent(Graphics g) {
                    g.drawLine(0, 0, getWidth(), getHeight());
                    g.drawLine(getWidth(), 0, 0, getHeight());
                }});}};

        JScrollPane sp = new JScrollPane(jp,
                JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
                JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

        // Get the scroll-bar and make it a bit wider.
        JScrollBar sb = sp.getVerticalScrollBar();
        sb.setPreferredSize(new Dimension(50, 0));

        // Put it to the left.
        sp.remove(sb);
        JPanel tmp = new JPanel(new BorderLayout());
        tmp.add(sp, BorderLayout.CENTER);
        tmp.add(sb, BorderLayout.WEST);

        jf.add(tmp);
        jf.setSize(300, 300);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jf.setVisible(true);
    }
}

enter image description here

答案 1 :(得分:0)

  1. 使用带有BorderLayout的面板
  2. 将滚动窗格添加到中心
  3. 将垂直滚动条添加到West
  4. 如果要更改所有滚动条的宽度,可以尝试使用UIManager。见UIManager Defaults