Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: GUI и Java FX приложения > Как построить следующий контрол |
Автор: Ccoder 15.2.2011, 21:46 |
Использую NetBeans. Мне нужно как-то реализовать следующий компонент. Вот так он должен выглядеть ![]() Хочу так отображать память (по три байта). При этом во время выполнения программы память меняется. Полностью незнаю с чего начать. Подскажите пожалуйста, как тут что. |
Автор: _Y_ 15.2.2011, 23:31 |
Выглядит как обычная таблица (JTable). Таблица чем-то не устраивает? |
Автор: Ccoder 16.2.2011, 00:29 |
Уже начал использовать. Мнебы только ещё по бокам числа сделать. Ну в принце если очень сложното обойдусь, пардон. |
Автор: techmax 16.2.2011, 04:44 |
создание заголовка для строк: http://www.java2s.com/Code/Java/Swing-Components/TableRowHeaderExample.htm |
Автор: _Y_ 16.2.2011, 08:23 |
Если количество колонок не большое, т.е. не предполагается горизонтальная прокрутка с сохранением нумерации в поле зрения (как это и есть на рисунке), можно сделать и через модель таблицы и рендерер первой колонки. В этом случае в первую колонку модель будет отдавать номера рядов. Рендерер, соответственно, будет их выводить в нужном формате. Но это дело вкуса, конечно. |
Автор: Ccoder 19.3.2011, 18:22 |
Слушайте, подскажите пожалуйста ктонибудь Я просмотрел код приведённый выше, этот http://www.java2s.com/Code/Java/Swing-Components/TableRowHeaderExample.htm. и вот немогу никак его приспособить под свой код. Попробую объяснить что я хочу сделать: У меня на форме лежит JTable в JScrollPane (я работаю с NetBeans). В этой таблице у меня отображается некий дамп памяти. И сверху я могу сделать tabsы используя визуальный редактор, а сбоку как я понял можно сделать программно, только я пока что не понял как. Вот так это всё выглядит ![]() (красным я пометил что я имею ввиду, т.е. на этом месте я хочу увидеть тоже самое что и с верху) В том коде который был выше, сам JTable создаётся программно, а у меня он создаётся автоматически (сгенерированным кодом). Добавлено @ 18:26 Другими словами хочу сделать что-то на подобии excel. Добавлено @ 18:30 Вот такой примерно конечный вариант, (сбоку тоесть хочу сделать tabs'ы) ![]() Добавлено @ 18:33 В том примере который выше очень всё запутано, может кто-нибудь прояснит ситуацию ![]() |
Автор: Ccoder 19.3.2011, 22:13 |
Ну вот я нашел ещё в другом месте это дело http://lib.juga.ru/article/view/210/ только вот проблема в том что я не хочу делать наследование JTable, так как я кладу сам компонент с визуальным редактором. Можно-ли как-то обойти это дело? И подойти по другому? |
Автор: esivres 20.3.2011, 10:50 | ||
Первое что приходит в голову. Это в модели таблицы не использовать первый столбец. А в конструкторе формы добавить следующий код:
Надеюсь пригодится ![]() |
Автор: jk1 21.3.2011, 09:18 | ||
А в чем проблема добавить свой унаследованный от JTable компонент на палитру визуального редактора? |
Автор: Ccoder 22.3.2011, 21:36 | ||||
Слушайте мне всё-таки очень интересно узнать, как сделать что-бы сбоку эта панель была похожа на JTableHeader Тоесть что-то на подобии ![]() а при наведении курсора на какой-нибудь элемент (например 3) ![]() (это я в paintе нарисовал) Например можно с JScrollом лежащим под JTable сделать
или у кого-нибудь какие ещё идеи приходят в голову P.S. Сам JTableHeader никак повернуть мне не удалось. |
Автор: esivres 23.3.2011, 12:52 | ||
Его и не получится перевернуть, он так не умеет![]()
и им заменить JLabel в моем примере. Из недостатков, у меня ограничение по высоте в два символа. больше просто невлезит. Вообще в случае если вам необходимо написать компонент который будет показывать 16 ричные данные то лучше реализовать свой собственный компонент от начала и до конца, это принесет на много больше пользы чем попытки прикрутить к таблице не свойственный ей функционал. |
Автор: pathfinder 23.3.2011, 20:36 | ||
|
Автор: Ccoder 23.3.2011, 21:20 |
Что-то эти коды ничего не дают (а как у Вас? работают?) Первый не запускается изза ошибок. Второй не даёт никакого результата. |
Автор: pathfinder 24.3.2011, 09:40 |
http://narod.ru/disk/8281123001/TableRowHeader.jar.html |
Автор: Ccoder 24.3.2011, 13:26 |
pathfinder, тут вроде-бы только темы меняються, а если сделать "Windows" тему то всёравно нету. Тоесть боковая панель имеет вид другой нежели панель на верху. (забыл упомянуть что я Windows тему использую) А как можно на простой JPanel или JButton тогда натянуть шкурку (сделать такого самого вида что и элемент из JTableHeader) Тоесть ![]() ![]() Добавлено @ 13:27 Вообще возможно-ли как-то получить доступ к "шкурке" от JTableHeader элемента? |
Автор: pathfinder 24.3.2011, 16:59 | ||
http://narod.ru/disk/8316174001/TableRowHeader.jar.html
|
Автор: Ccoder 25.3.2011, 03:52 | ||
Что-то он опять неработает у меня я делаю
и ничего невижу. В примере так неплохо, а может как-то повернуть ещё можно? Тоесть тут они выглядят так-же как и на верху |
Автор: pathfinder 25.3.2011, 07:40 | ||
Что-бы JTableRowHeader отображался его необходимо добавить в JScrollPane.
|
Автор: Ccoder 25.3.2011, 20:22 |
А во как оказывается. Теперь всё работает, ура! ![]() Немного нето, но наверно если постараться, то можно сделать что-бы они поворачивались. Главное сам принцип я уловил. pathfinder, спасибо за код. (поставьте пожалуйста кто-нибудь + за меня) |