1

Тема: Як відключити функцію горизонтальної прокрутки в JScrollPane?

Хочу поведінку JScrollPane як на цій сторінці
http://java-study.ru/samouchitel/73-jscrollpane
щоб працювали

textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);

відносно JFrame при стисканні з боків

2 Востаннє редагувалося fed_lviv (16.09.2015 14:34:18)

Re: Як відключити функцію горизонтальної прокрутки в JScrollPane?

Шановний, я не знаю, як Ви, але я з англійською не дуже товаришую. Проте мені, щоб приблизно зрозуміти, "що та як", вистачає словникового запасу. Ось і Вам раджу все ж таки читати документацію: https://docs.oracle.com/javase/tutorial … lpane.html
Даю підказку у попередній Вашій темі, я писав приклад (http://replace.org.ua/topic/5391/), я думаю зрозумієте, що тут не так:

...
    private JScrollPane scroll = new JScrollPane(panel,
            JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
            JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
...

3

Re: Як відключити функцію горизонтальної прокрутки в JScrollPane?

Шановний, я не знаю як ви читаєте питання, які Вам задають, але просто сховати видимість прокрутки це не те, що мені потрібно.
HORIZONTAL_SCROLLBAR_NEVER не підходить.
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true); для JTextArea не працюють.
Якби так легко було знайти відповідь, то до Вас би я не звиртався.
Але якщо Вам лінь розібратися і дати нормальну відповідь, то нафіг ви такі є на цьому сайті

4 Востаннє редагувалося fed_lviv (16.09.2015 23:04:43)

Re: Як відключити функцію горизонтальної прокрутки в JScrollPane?

Igor_Mar написав:

Шановний, я не знаю як ви читаєте питання, які Вам задають, але просто сховати видимість прокрутки це не те, що мені потрібно.

По-перше, питання задають не мені, а питають поради на форумі. По-друге, Ваше питання: "Як відключити функцію горизонтальноъ прокруткив JScrollPane", на це питання я і дав Вам підказку, решта - фантазія у вашій голові, в яку я не залізу.

Igor_Mar написав:

RIZONTAL_SCROLLBAR_NEVER не підходить.
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true); для JTextArea не працюють.
Якби так легко було знайти відповідь, то до Вас би я не звиртався.

Знову, "до Вас", так не мною одним багатий даний форум :). Ви ж запитуэте начебто не в приватном повідомленні. Але, якщо, я на цей раз, Вас правильно зрозумів, то повірте не так вже й важко знайти відповідь на ваше питання.

Igor_Mar написав:

Але якщо Вам лінь розібратися і дати нормальну відповідь, то нафіг ви такі є на цьому сайті

Це вже серйозно :))). Ну пишіть до модераторів, хай забанять, бо мені за кожне повідомлення гроші платять, а я ніц не хочу допомогти :) А можливо з такою філософіэю - нафіг вам цей форум?!

5 Востаннє редагувалося Igor_Mar (17.09.2015 08:57:06)

Re: Як відключити функцію горизонтальної прокрутки в JScrollPane?

Я тут не для того, щоб сперичатись або ображати, але й не для того, щоб мене ображали.
Щоб вам не порпатись в моїх фантазіях я прикріпив посилання
http://java-study.ru/samouchitel/73-jscrollpane
невже важко до кінця дочитати пояснення. Треба просто відкріпити фрейм з завантаженою сторінкою і стиснути її з права на ліво. Текст буде стискатись, а горизонтальна прокрутка не з'являється. А в мене з вимкненим НОRIZONTAL_SCROLLBAR_NEVER при стисканні текст в JTextArea просто обрізається.
Як як це виправити?

6 Востаннє редагувалося Igor_Mar (17.09.2015 09:03:53)

Re: Як відключити функцію горизонтальної прокрутки в JScrollPane?

На форумі я прошу допомоги в випадку коли самостійно не зміг знайти відповідь, тобто в крайньому випадку. :)
Я достатньо самостійний і не "дитячий садочок", а не знання мови програмування це не вада. Може тому і питання здаються смішними чи простими, але вони є. Тому я до вас і звертаюсь.
Дякую.

7

Re: Як відключити функцію горизонтальної прокрутки в JScrollPane?

Igor_Mar написав:

Я тут не для того, щоб сперичатись або ображати, але й не для того, щоб мене ображали.
Щоб вам не порпатись в моїх фантазіях я прикріпив посилання
http://java-study.ru/samouchitel/73-jscrollpane
невже важко до кінця дочитати пояснення. Треба просто відкріпити фрейм з завантаженою сторінкою і стиснути її з права на ліво. Текст буде стискатись, а горизонтальна прокрутка не з'являється. А в мене з вимкненим НОRIZONTAL_SCROLLBAR_NEVER при стисканні текст в JTextArea просто обрізається.
Як як це виправити?

Ткніть пальцем, де у вашому посиланні те, що ви описуєте.

8

Re: Як відключити функцію горизонтальної прокрутки в JScrollPane?

Натисніть на кнопку "свернуть в окно" , потім візьміть за правий край вікна і звужуйте його. Текст у вікні почне стискатись, а не заходити за правий край вікна. Як це можливо виконати за допомогою конструкції (JTextArea на JPanel, а JPanel на JScrollPane), чи для цього потрібно щось інше?

9

Re: Як відключити функцію горизонтальної прокрутки в JScrollPane?

Ніякого стиснення не спостерігаю.
http://java-study.ru/images/stories/samouchitel/69.jpg

Про що ви взагалі?

10 Востаннє редагувалося fed_lviv (17.09.2015 11:24:34)

Re: Як відключити функцію горизонтальної прокрутки в JScrollPane?

Igor_Mar написав:

Я тут не для того, щоб сперичатись або ображати, але й не для того, щоб мене ображали.

А, я хіба Вас ображав?

Igor_Mar написав:

Щоб вам не порпатись в моїх фантазіях я прикріпив посилання
http://java-study.ru/samouchitel/73-jscrollpane
невже важко до кінця дочитати пояснення.


А, Ви свій код викинули на форум? Тобто, щось пробували?

Igor_Mar написав:

Хочу поведінку JScrollPane...

Я теж хочу, і повірте багато чого "не хорошого хочу" ;)

Igor_Mar написав:

...а не знання мови програмування це не вада. Може тому і питання здаються смішними чи простими, але вони є. Тому я до вас і звертаюсь.

А хто сказав, що це, якась вада? Повірте, я не далеко від Вас втік, в знанні java. Моя освіта зовсім не пов'язана з програмуванням і посада на роботі теж не пов'язана з програмуванням. Тому, як на мене саме головне, якщо хочите отримати пораду дотримуватись:
1. Ставите чітке питання.
2. Показати код, щоб було видно, що Ви дійсно, щось пробуєте зробити.
3. Викинути зі своїх повідомлень: "я хочу, ви зобов'язані, вам, що в лінь, це не нормальна відповідь,..." і так далі.
P.S. Я Вас не вчу, я рекомендую, а діло Ваше, прислухатися до цього чи не варто.
Вибачаюсь за оффтоп.

11 Востаннє редагувалося fed_lviv (17.09.2015 12:03:25)

Re: Як відключити функцію горизонтальної прокрутки в JScrollPane?

А, якщо по темі + я правильно зрозумів Ваше бажання, то я так і не розумію, чим Вам не догодили :

JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED
Post's attachments

1.gif 275.45 kb, 211 downloads since 2015-09-17 

12

Re: Як відключити функцію горизонтальної прокрутки в JScrollPane?

Картинка на сторінці не має ніякого значення, я маю на увазі сам текст на всій сторінці і поведінку самої сторінки. Стисніть вікно свого браузера з завантаженою сторінкою і прослідкуйте що відбувається з текстом. Слова тексту переходять на інший рядок  і не обрізаються.

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

public class MyFrame extends JFrame{


    
    private JButton b = new JButton("button");
    private JButton c = new JButton("button br");
    private JPanel panel2 = new JPanel();
    JScrollPane sp1 = new JScrollPane(panel2);

    JTextArea textArea = new JTextArea("jdgjkasd gj;kasjd  g;lkjd js;akjsd  jgks;alkjds jgk;k kj asdgkj lkj asdg " +
            "asdgkj  kk;skdagkj jkdsla;skdjg kj askldg;kj ga" +
            "aksdjg kgj;dksja; jkldkglkdsj;alkdgkkjlk a;lskjdg  aslkdjg ;asd g;aksjd g g  ;;;[poi");


    public MyFrame(String str){

        super(str);

        setSize(600, 450);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setVisible(true);
        setLayout(new BorderLayout());

        add(sp1);
        panel2.setLayout(new GridBagLayout());

        textArea.setLineWrap(true);
        textArea.setWrapStyleWord(true);
        textArea.setEditable(false);

        panel2.add(textArea, new GridBagConstraints(0, 0, 1, 1, 1, 1,
                GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL,
                new Insets(2, 2, 2, 2), 0, 0));

        panel2.add(b, new GridBagConstraints(0, 1, 1, 1, 1, 1,
                GridBagConstraints.NORTHWEST, GridBagConstraints.NONE,
                new Insets(2, 2, 2, 2), 0, 0));

        panel2.add(c, new GridBagConstraints(0, 2, 1, 1, 1, 1,
                GridBagConstraints.NORTHWEST, GridBagConstraints.NONE,
                new Insets(2, 2, 2, 2), 0, 0));

        panel2.setBackground(Color.CYAN);
        textArea.setBackground(Color.CYAN);

        b.setCursor(new Cursor(Cursor.HAND_CURSOR));
        b.setPreferredSize(c.getPreferredSize());
        b.setMinimumSize(b.getPreferredSize());

        
}

А в мене обрізаються рядки.

13 Востаннє редагувалося quez (17.09.2015 12:20:13)

Re: Як відключити функцію горизонтальної прокрутки в JScrollPane?

del

14 Востаннє редагувалося quez (17.09.2015 12:32:27)

Re: Як відключити функцію горизонтальної прокрутки в JScrollPane?

Пишуть, що jTextArea треба додавати не на панель, як у вас, а на JScrollPane.

15

Re: Як відключити функцію горизонтальної прокрутки в JScrollPane?

Так. Це я знаю. А як тоді додавати інші елементи на цей самий JScrollPane. Тобно
1.елемент : JTextArea
2.елемент : JButton
3.елемент : JButton
4.елемент : JTextArea
5.елемент : JButton
6.елемент : JButton
7.елемент : JTextArea
і так далі...
Як зробити щоб JScrollPane був спільний для всіх елементів і прокручував їх тільки по вертикалі, а коли стискаєш вікно всі JTextArea стискались в полі видимості?

16

Re: Як відключити функцію горизонтальної прокрутки в JScrollPane?

Там же є посилання на туторіал, судячи з скріншотів у них все вийшло.

17 Востаннє редагувалося Igor_Mar (17.09.2015 13:08:11)

Re: Як відключити функцію горизонтальної прокрутки в JScrollPane?

Я запустив їхній код. И там не зрозуміло взагалі, що відбувається. А туторіалі приклад без інших елементів там тільки сам JTextArea. Це взагалі можливо з JScrollPane, може треба прокручувати панель за допомогаю компонента JScrollBar

18

Re: Як відключити функцію горизонтальної прокрутки в JScrollPane?

Так... Все зрозуміло. Питання знімається. Дякую всім.