Saturday, June 30, 2007
Пару линок
И еще один сайтик, тот же вектор, только направление в другую сторону, уже русский (буржуйский такой тоже видела, но не помню+))) — Vorum.ru (видимо калька с немецкого "warum" — "почему"), неплохой аккуратненький вебдванольный, прости господи, вебсервис, абсолютно не раскрученный в рунете. Имхо зря=)
Tuesday, May 29, 2007
Getting real
Wednesday, May 9, 2007
Укрощаем JTable
Я уже писала о том, как я страдала по этому неудобному (на мой дилетантский взгляд) классу. Но, покопавшись в нете, я нашла, как можно аккуратно его обуздать.
Итак, у меня есть таблица 9 на 9, ячейки квадратные и белые.
Мне нужно: выделить блоки 3 на 3 (верхний левый, правый, один центральный и два нижних по углам) каким-то образом. Я выбрала серый цвет.
Далее есть у меня объект JTable myJTable, чтобы разукрасить его как надо, надо повесить на колонки, из которых состоит таблица, рендерер для ячеек. По умолчанию у них стоит DefaultTableCellRenderer, поэтому чтобы получить свою разновидность, надо создать свой класс, наследующий от DefaultTableCellRenderer.
//вешаем рендерер
for (int j = 0; j < DIM2; j++) {
myJTable.getColumnModel().getColumn(j).setCellRenderer(
new YourTableCellRenderer());
}
int DIM = 3;
class YourTableCellRenderer extends DefaultTableCellRenderer {
//этот метод возвращает компонент -- рендерер для нашей ячейки, только уже модифицированный
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row,
int column) {
Component c = super.getTableCellRendererComponent(table, value,
isSelected, hasFocus, row, column);
c.setFont(new Font("Tahoma", Font.PLAIN, 30));
c.setForeground(Color.black);
//выделение блоков серым цветом
if (((row / DIM) * DIM + (column / DIM)) % 2 == 0) {
c.setBackground(Color.LIGHT_GRAY);
} else
c.setBackground(Color.white);
return c;
} }
Красота=) Таким же образом в этом методе можно ввести проверку какого-либо условия, и уже по нему делать с ячейкой что угодно.
Так, например, у меня есть условие судоку и решение — они выделяются разным цветом.
Monday, April 23, 2007
В продолжение
Кстати сказать, дайри он все-таки не поддерживает, что меня, конечно, смущает. Если не ошибаюсь, их API не поддерживает ни один из виденных мною клиентов, и даже новоиспеченный сервис для собирания паролей от блогов Swiftpen.
Еще я не поняла, как здесь ставить метки. Тут есть куча возможностей для вставки тегов, но как добиться родной записи "labels"?+))
Оффлайновые клиенты для блогов
Решила я, значит, заняться "кросспостингом", ибо некоторые мои посты, идущие в дайри.ру, можно было бы постить и в ЖЖ, или даже сюда, или наоборот, отсюда туда, и т.д. В поисках клиента который поддерживает и дайри, и ЖЖ, и Блоггер, я наткнулась на Windows Live Writer. Из-под него я сейчас и пишу.
Он умный, загрузил сам какие-то настройки, открыл мне любезно окошечко, пиши, мол. Ну что ж, попробуем...=)
Tuesday, March 13, 2007
Lost in translation.
Скоро начну смешивать в мыслях русские и английские понятия, особенно если это касается программирования. Больно английские хороши=) И потом, нативные названия дают хорошее интуитивное представление о возможном объекте или действии, даже если не знаешь, чего это такое.
А еще потихоньку проникаюсь истинным духом ООП. Молодец был тот, кто эту парадигму придумал. Просто слов нет, насколько молодец (и большой оригинал местами=)))...
Нитяное.
Можно было бы перевести Thread поромантичнее, как "нить" (да хоть бы и оставили инглишизм, "тред", и никто бы не путался), но поток-то конечно звучит солиднее.
А про себя пусть все равно будет она. Как-то приятнее=)
MalePerson IS-A FemaleThings?
interface FemaleThings { int MAX = 256; int MIN = -258 }
class MalePerson implements FemaleThings {
void doSth() {
}
}
Примерчик не особо наглядный, но в том же свинговском API такие вещи встречаются очень часто.
Sunday, March 11, 2007
Радость
Вот. Ну, зато теперь красота=)) Осталось, в общем-то всего-ничего: сделать генерацию и доделать алгоритм под решение. Уф. Это с точки зрения алгоритма. А с точки зрения интерфейса еще пахать и пахать. Эх.
Итак, выводы: 1. Средствами JTable границы жирные в блоках сделать можно, но сложно. Смотрела пример, не впечатлило.
2. Можно было бы добавить прозрачную панельку с рисованными линиями сверху над таблицей, используя JLayeredPane. Это у меня тоже не получилось. Таблица из-под низа никак не хотела выглядывать. К тому же стала сомневаться, что если бы я добавила прозрачную панель с границами, работал бы выбор значений в клетках с помощью выпадающего списка.
3. Если время, затраченное на написание несравнимо меньше времени, затраченного на копание в документации, то лучше и не копаться (слишком долго=)). Мдям.
Thursday, March 8, 2007
Fast forward
Sunday, February 25, 2007
Страдания по JTable
Thursday, January 4, 2007
О себе любимой и не только
госуниверситете, на механико-математическом факультете.
В университете мы учим С++, полтора года, и полгода я учу Jav'y на
спецкурсе. Этим практически ограничиваются мои знания в области
языков программирования, если не считать моих робких попыток
познакомиться с ActionScript'ом и Javascript'ом и научиться делать
что-нибудь полезное на HTML+CSS+)
Вчера знакомилась с Ruby и Ruby on Rails, осталось очень
приятное впечатление как от самого языка, так и от фреймворка.
Первое, что, конечно, бросается в глаза — необычный синтаксис (да-да,
это не Java=)). Программы получаются коротенькие, без ущерба для их смысла.
Я так поняла, что именно этим и гордятся больше всего энтузиасты от Ruby.
Меньше кода, никаких точек с запятыми=)) Приятно сделана система для
начала работы с Ruby (связка ri/fxri+irb), приятным оказалось и то, что
мой любимый текстовый редактор Notepad++ умеет красиво подсвечивать
рубиновый код=) Кроме него можно использовать специальные IDE для
Ruby, мне ближе всего оказался вариант установки плагина
к Eclipse под названием RDT.
На официальном сайте Ruby можно найти неплохие тьюториалы для начала,
самая большая книжка Programming Ruby входит в установочный пакет,
есть англоязычная вики, есть очень любопытная Why's (Poignant) Guide to
Ruby — книжица, умело маскирующаяся под несерьезную=)
Русские энтузиасты уже перевели несколько интересных статей, хорошая
статья о Ruby с большим количеством ссылок есть в Википедии,
в том числе там же можно найти неплохой Викиучебник, хоть и
неполный, но дающий начальное представление о порядке вещей.
В ЖЖ есть русское комьюнити, в группах Google — сообщество,
посвященное Ruby on Rails.
Начала писать, и поняла, что тема более глубокая, чем я могу
вместить в один пост, а посему to be continued=)
Tuesday, January 2, 2007
О темплейтах.
на разный вкус и цвет.
Отсмотрела все в зеленых тонах, и остановилась на этом
варианте. Вообще странные тут шаблоны, даже очень.
Предыдущий пост не хочет подстраиваться под шаблон
и ровно становиться в строки так, как требуют границы.
В опере=), в explorer'e все замечательно, но там не
прельщает такой здоровенный корявый шрифт.
Подумываю перейти на шаблон Simple. Все в строки
влазит, и грузиться должен быстрее=)
Welcoming myself=)
Еще больше порадовало то, что мой никнейм оказался не занят. Хотя в том же Гугле я не успела зарегистрировать свой обычный ник.
=)