2008-10-14 2 views
0

У меня есть простой компонент графического интерфейса, написанный на Java. Класс рисует аналоговые часы в java.awt.canvas.
Этот холст затем содержится в JFrame. То, что я хочу сделать, - это дать холсту 3D-эффект «поднял» - почти как добавление тени к фотографии. Есть ли простой способ сделать это?Как сделать вид Java Canvas поднятым из его контейнера

ответ

2

Если вы используете JFrame, то у вас есть два варианта:

  1. Добавить свой собственный компонент в JPanel первый, а затем добавить это в JFrame.

  2. Вместо наследования от java.awt.Canvas вы можете наследовать JComponent. Затем вам нужно будет сделать всю вашу картину в методе paintComponent(), а не просто paint() (вы можете просто переименовать текущий метод рисования).

В обоих случаях вы можете установить границу с setBorder() метод (на JPanel или компонента), вы можете получить от BorderFactory.

См. Также: How to Use Borders

0

Если вы используете элемент Swing, вы должны использовать метод createRaisedBevelBorder() для BorderFactory и установить границу canvas на получающуюся границу. Canvas является компонентом AWT, поэтому вам нужно будет обернуть его в компонент Swing, на который вы можете установить границу.

Смежные вопросы