Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705

Зачем нужен конструктор public JTextField(int columns);?

30.01.2014, 12:47. Показов 2243. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Java
1
public JTextField(int columns);
Тут
Сказано, что он устанавливает текстовое поле шириной columns колонок (КАКИХ КОЛОНОК?)

Но дело даже не в этом. Быть может, он и устанавливает какую-то там ширину, в чём-то там измеряемую- в колонках ли, в пикселях ли, ещё в чём-то. Дело-то в том, что толку от него, как от быка молока. Чтобы поле было как минимум видно, надо установить его положение и размеры, то есть вот так:

Java
1
2
3
4
5
6
7
       JTextField tf;        
       
       //тут ширина в каких-то колонках
       tf = new JTextField(20);
       
       // Положение и размер текстового поля ввода:
        tf.setBounds(x, y, width, height);
Но это значит, что ширина (20 которая), указанная в конструкторе аннулируется напрочь, вступает в действие ширина, которая указана в setBounds (width которая)

Я пробовал было миновать метод setBounds, не получается. Если бы существовал, допустим, такой его вариант перегрузки:

Java
1
setBounds(x, y);
где x и y- координаты поля, тогда ширину поля разумно было бы указать в конструкторе. Но нет. Ширина поля ОБЯЗАТЕЛЬНО устанавливается в
Java
1
setBounds(x, y, width, height);
(ну или в каком-нибудь дополнительном хитром методе, который я ещё не узнал) и зачем нужен конструктор, где она предварительно устанавливается, непонятно. Просто ж всё:
Java
1
2
3
4
5
6
7
       JTextField tf;        
       
       //тут ширина в каких-то колонках
       tf = new JTextField();
       
       // Положение и размер текстового поля ввода:
        tf.setBounds(x, y, width, height);
Спасибо, кто откликнется.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.01.2014, 12:47
Ответы с готовыми решениями:

Depricated public Date(int year,int Month, int Day)
Конструктор public Date(int year,int Month, int Day) Depricated вместо него советуют использовать public Date(long date) что то я не...

Запись значения в int из JTextField
Доброго времени суток , недавно начал заниматься программированием на Java , сейчас пишу простую программу на Swing , простая игра с...

Вывести массив int[] из JTextField
Есть некое поле Jtextfield text = new Jtextfield(); из него нужно вывести элементы массива и преобразовать их в инт. Через...

12
Кандёхаем веселее!
 Аватар для MLPMan
296 / 330 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
30.01.2014, 15:56
Вот. Это, как я понял, потенциальное количество символов. Учитывая ширину шрифта, компонент может вычислить ширину в prefferedSize.
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
30.01.2014, 20:48  [ТС]
А чё вот? По поводу конструктора- ну, упоминается он один раз по ссыли, которая ведёт на указанную мной страницу и всё.
0
237 / 236 / 72
Регистрация: 02.07.2013
Сообщений: 881
30.01.2014, 21:35
Цитата Сообщение от kravam Посмотреть сообщение
надо установить его положение и размеры

вот про это и говорится по этой ссылке

Note:
We encourage you to specify the number of columns for each text field. If you do not specify the number of columns or a preferred size, then the field's preferred size changes whenever the text changes, which can result in unwanted layout updates.
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
30.01.2014, 21:46  [ТС]
Перевёл уж...
Мы поощряем, если вы укажите количество колонок (КАКИХ КОЛОНОК?) для каждого текстового поля. Если вы не укажите количество колонок или предпочитаемый размер, потом предпочитаемый размер поля изменится всякий раз, когда изменится текст, что может привести к нежелательному к нежелательному обновлению макета (всей формы что ли, я не пойму.)
Вот ещё бы увидеть пример того, как полезен такой конструктор. Не пример применения, а пример полезности. Типа: вот применён этот конструктор и всё ОК, макет не изменился. А вот обошлись БЕЗ конструктора, ввели текст и на тебе- изменился макет...
0
237 / 236 / 72
Регистрация: 02.07.2013
Сообщений: 881
30.01.2014, 22:14
да хотя бы вот это запусти с параметром, а потом без него
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.awt.BorderLayout;
import javax.swing.*;
 
 
public class Simple extends JFrame{
 
    JPanel mainPanel;
    JTextField textField = new JTextField(20);
 
    
    public Simple() {
        
 setResizable(false);
        mainPanel = new JPanel(new BorderLayout());       
        add(mainPanel);
        mainPanel.add(textField, BorderLayout.EAST);
        
        setLocationRelativeTo(null);
        setSize(300, 200);
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        setVisible(true);
    }
 
    public static void main(String[] args) {
    
        
        new Simple();
 
    }
}
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
30.01.2014, 22:59  [ТС]
Соглашусь, но вот здесь-то он явно лишний, этот параметр! (пример взят из книги)

Java
1
2
3
4
5
6
7
JTextField tf;        
       
       //тут ширина в каких-то колонках
       tf = new JTextField(20);
       
       // Положение и размер текстового поля ввода:
        tf.setBounds(x, y, width, height);
0
30.01.2014, 23:04

Не по теме:

На меня наверное сейчас спустят всех собак.
Когда я читаю очередную тему или сообщение этого товарища, мня не покидает чувство, что он обижен на джаву, на составителей документации и разработчиков и ему непременно все должны что-то объяснить и доказать. Поза называется "убедите меня".

0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
30.01.2014, 23:08  [ТС]
Цитата Сообщение от verylazy Посмотреть сообщение
Поза называется "убедите меня".
Ну-ну. В названиях разбирается тот, кто не разбирается в сущности.
0
237 / 236 / 72
Регистрация: 02.07.2013
Сообщений: 881
31.01.2014, 03:38
Цитата Сообщение от kravam Посмотреть сообщение
но вот здесь-то он явно лишний

Не по теме:

Жалуется мужик, что из окна его квартиры видна женская раздевалка
бани и что это его отвлекает и мешает нормально жить и работать.
Приезжает комиссия, смотрит в окно, ничего не видно. Она обращается к мужику:
- Ничего же не видно!
- А вы на шкаф залезьте!

1
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
31.01.2014, 10:40  [ТС]
Странно, что вы не разделяете моего беспокойства по поводу употребления этого конструктора. Дело ведь не в том, что я могу его и не использовать- ах, как остроумно, надо же. Дело в том, что, возможно, он зачем-то используется, с какой-то определённой целью. Но зачем непонятно.

И я хотел бы это выяснить. А вы, я вижу, отмахиваетесь от этого вопроса как от назойливой мухи. Работает без него и ладно. Ну, дело ваше. Вопрос открыт.
0
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
31.01.2014, 10:56
Цитата Сообщение от kravam Посмотреть сообщение
И я хотел бы это выяснить.
так выясняй, вперед
или надо за тебя выяснить?
0
31.01.2014, 15:11
 Комментарий модератора 
Попрошу выяснения перенести в личку, ато могут случиться разноцветные карточки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.01.2014, 15:11
Помогаю со студенческими работами здесь

Преобразовать из JTextField строку в массив int и найти пересечение и объединение
Есть недоделанная программа: import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.HashSet; ...

Зачем нужен конструктор?
Всем доброго дня. Ребят такая проблема объясните мне на пальцах для чего нужен конструктор в классах. Я уже столько толмудов перерыл но...

Зачем нужен конструктор переноса?
Зачем нужен конструктор переноса если тоже самое можно реализовать в обычном конструкторе копирования. Ну вот пример: ...

Не понимаю зачем нужен конструктор и типы методов
Объясните пожалуйста на пальцах зачем нужен Constructor и типы методов. В учебнике лишь написано, что конструктор создает экземпляр...

Зачем нужен operator++(int)
Очень тупой вопрос - для чего нужен operator++(int)? Ну, то есть, понятно что он делает постинкремент. Непонятно почему этот инкремент не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK сделайте это, JDK, то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Перейдите по ссылке:. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru