Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
В то время как ни одно из этого не рекомендуемо (смешивание разметки и дизайна), часто не, интегратор получает заключительное слово. Однако необходимо все еще попытаться сохранить все максимально чистым.
Ваша структура является в значительной степени единственным видом структуры, которую можно использовать для концов, хотя, если ширина статична (300 пкс?), я советовал бы Вам иметь свое образование отделения как одно увеличенное изображение, повторенное вертикально.
у Вас тогда был бы своего рода нижний колонтитул в Вашем отделении, куда Вы могли поместить эти два нижних угла и нижнее изображение все в одном единственном изображении. Вместо того, чтобы иметь 5 отделений в одном, у Вас только было бы то. Обратите внимание, что в большей среде, это также означает, что пользователь может загрузить еще 2 изображения параллельно (4 макс. от единственного хоста), делая полную загрузку страницы быстрее.
Это, очевидно, не работает, если Ваша ширина относительно родителя или может измениться каким-либо способом все же.
<час>РЕДАКТИРОВАНИЕ: как это происходит, Вы определили, что ширина является переменной, я не думаю, что существует более чистый легкий способ сделать это мудрый HTML.
Однако, если Вы все еще хотите максимизировать скорость загрузки для изображений, рассмотрите использование спрайтов: восточные и западные изображения стороны могут быть помещены в том же большем изображении: единственной вещью, которую Вы изменяете, является фоновое положение:
background-position: 32px 0px; /* this should move the background to the right */
преимущество, Вам только нужно одно изображение, меньше соединений необходимо для загрузки их для клиента (быстрее), и это берет в качестве большого количества места.
Hope это помогает.
Можно достигнуть этого с немного меньшим количеством разметки при помощи метода "раздвижных дверей". В основном Вы просто удостоверяетесь, что изображения для каждого угла являются достаточно большими, который они все еще перекроют немного, когда поле будет в максимальном размере, Вы когда-либо ожидаете, что это будет. Посмотрите этот пример для поля с изображениями на всех четырех сторонах:
<style>
div.box { float: left; }
div.tl { background: transparent url('topleft.gif') no-repeat top left; padding-top: 8px; padding-left: 8px; }
div.bl { background: transparent url('bottomleft.gif') no-repeat bottom left; height: 8px; padding-left: 8px; }
div.tr { background: transparent url('topright.gif') no-repeat top right; padding-right: 8px; }
div.br { background: transparent url('bottomright.gif') no-repeat bottom right; padding-right: 8px; }
</style>
<div class="box">
<div class="tr">
<div class="tl">
Lorem ipsum dolor sit amet...
</div>
</div>
<div class="br">
<div class="bl"></div>
</div>
</div>
Для поля с изображениями только на трех сторонах код был бы еще более простым, поскольку Вам только будут нужны два отделения для присоединения изображений к:
<style>
div.box { float: left; }
div.bl { background: transparent url('bottomleft.gif') no-repeat bottom left; padding-left: 8px; }
div.br { background: transparent url('bottomright.gif') no-repeat bottom right; padding-right: 8px; }
</style>
<div class="box">
<div class="br">
<div class="bl">
Lorem ipsum dolor sit amet...
</div>
</div>
</div>
Эти примеры дадут Вам эластичное поле, которое может вырасти так, как Вы хотите при условии, что размер изображений, содержащих углы и границы, достаточен. Обратите внимание также, что "дополнительный" набор на содержании отделений должен быть не меньше, чем радиусом ширины/угла Ваших изображений, хотя это может, конечно, быть больше, должен Вы желать. Счастливое кодирование!