Сделать Java JScrollpane только для вертикальной прокрутки - PullRequest
6 голосов
/ 03 апреля 2011

Я бы хотел, чтобы весь JFrame прокручивал по вертикали.

Я добавил следующий код, но он создает только горизонтальную полосу прокрутки.

frame.setContentPane(new JScrollPane(new GradeQuickResource())); 

Я хочу сделать наоборот. Я ТОЛЬКО хочу вертикальную полосу прокрутки и НЕТ горизонтальной полосы прокрутки.

Я видел горизонтальный код политики, но, похоже, он не работает. Я не знаю, как назвать это. Этот код выглядит примерно так:

setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

Спасибо!

Ответы [ 2 ]

20 голосов
/ 03 апреля 2011

Попробуйте это :

public class AddScrollBarToJFrame {

    public static void main(String[] args) {
        JPanel panel = new JPanel();
        JScrollPane scrollBar = new JScrollPane(panel,
            JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
            JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        JFrame frame = new JFrame("AddScrollBarToJFrame");
        frame.add(scrollBar);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 400);
        frame.setVisible(true);
    }
}

Кроме того, вы можете взглянуть на Как использовать полосу прокрутки в вертикальном и горизонтальном направлении .

0 голосов
/ 08 октября 2018

AFIK: JScrollPane scrollableTa=new JScrollPane(targetComp); scrollableTa.setHorizontalScrollBar(null); работает

...