2015-04-09 3 views
0

Я новичок в Java GUI. У меня есть два вопроса. Есть ли способ повторить изображение градиента горизонтально, как при работе с CSS? Если нет, каков обычный способ создания градиента в Java?Java - повторение градиентного изображения по горизонтали (Swing)

+0

Определение «Java GUI» - Распашная? JavaFX? SWT? Что-то другое? – copeg

+0

Поскольку сама Java - это всего лишь язык, вы можете указать, какую библиотеку пользовательского интерфейса вы используете. Является ли это богатым клиентским приложением с помощью Swing или JavaFX, веб-приложения (где бы вы все равно использовали CSS, так что я не думаю), что-то еще? – Thomas

+0

Я использую Swing. –

ответ

1

В Swing класс GradientPaint можно использовать для рисования градиента. Ниже приведен пример, который будет рисовать квадрат, содержащий линейный градиент между белым и красным (предполагая, что этот код находится внутри класса, который расширяет JComponent):

public void paintComponent(Graphics g){ 
    super.paintComponent(g); 
    Graphics2D g2d = (Graphics2D)g; 
    GradientPaint gradient = new GradientPaint(0,0,Color.WHITE, 100, 0, Color.RED); 
    g2d.setPaint(gradient); 
    g2d.fillRect(0,0,100,100); 
} 
+0

Спасибо за помощь: D! –

+0

Обратите внимание на редактирование, которое я только что сделал: setPaint определен в Graphics2D, поэтому объект Graphics Graphics должен быть добавлен к этому типу – copeg

+0

См. Комментарий выше вашего - редактирование было сделано – copeg

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