изображение в качестве фона в формате GUI Intellij [дубликат]

В дополнение к [j0] @ joran's , используя базовую функцию plot с петлей for, вы также можете использовать base plot с lapply:

plot(0,0,xlim = c(-10,10),ylim = c(-10,10),type = "n")

cl <- rainbow(5)

invisible(lapply(1:5, function(i) lines(-10:10,runif(21,-10,10),col = cl[i],type = 'b')))
  • Здесь функция invisible просто служит для предотвращения создания lapply вывода в вашей консоли (поскольку все, что мы хотим, это рекурсия, предоставляемая функцией, а не список).

Как вы можете видеть, он дает тот же результат, что и при использовании подхода цикла for.

Итак, почему lapply?

Хотя было показано, что lapply работает быстрее / лучше, чем for в R (например, см. здесь , хотя см. здесь для экземпляра, где это не так), в этом случае он примерно примерно одинаково:

. Увеличение числа строк до 50000 для подходов lapply и for заняло мою систему 46.3 и 46.55 секунд соответственно.

  • Итак, хотя lapply был чуть быстрее, это было пренебрежимо. Эта разница в скорости может пригодиться при более крупном / более сложном графике, но, если честно, 50000 строк, вероятно, довольно хороший потолок ...

Итак, ответ на вопрос «почему lapply ? ": это просто альтернативный подход, который работает одинаково. :)

2
задан Zaki Mohammed 9 September 2015 в 10:08
поделиться

2 ответа

Заменить

public void printComponent(Graphics g) {

на

@Override
public void paintComponent(Graphics g) {
  super.paintComponent(g);
5
ответ дан Reimeus 22 August 2018 в 06:40
поделиться
  • 1
    Оно работает! Спасибо, любое предложение, как сделать его эластичным вместе с размером рамки? – Zaki Mohammed 9 September 2015 в 10:14
  • 2
    @ZakiMohammed Попробуйте следующее: g.drawImage(img, 0, 0, getWidth(), getHeight(), this); – Lukas Rotter 9 September 2015 в 10:16
  • 3
    Круто! Спасибо @LuxxMiner – Zaki Mohammed 9 September 2015 в 10:19

Не используйте JPanel. Просто используйте JLabel с иконкой, тогда вам не нужен специальный код.

См. «Фоновая панель» для получения дополнительной информации, а также решение, которое будет рисовать изображение на JPanel с тремя различными вариантами рисования:

  1. масштабирован
  2. плиточный
  3. фактический
1
ответ дан Parvathy H Kumar 22 August 2018 в 06:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: