Как сделать AWT Button () и использовать ImageIcon (), Icon ()?

Как применить изображение GIF к моей Button AWT?

AWT : не работает

  Icon warnIcon = new ImageIcon("/src/world.gif"); Button button1 = new Button(warnIcon); Icon warnIcon = new ImageIcon("/src/world.gif"); JButton button1 = new JButton(warnIcon); 

AWT немного отличается от Swing.

Нет button(image) конструктора button(image) , поэтому ваш «не работает».

Посмотрите, как расширить AWT с помощью собственных кнопок изображения, чтобы увидеть, как сделать это изображение на кнопке AWT.

Вернемся к вашей истории за три дня, пожалуйста, попробуйте запустить код ниже на вашей родной ОС и с помощью OpenJDK (возможно, действительно самое время загрузить стабильный JDK из Oracle, вы можете только переключить его в свойствах проекта):

  1. Запуск из NetBeans

  2. скомпилирован в файл JAR или class

     import java.awt.event.*; import java.awt.Color; import java.awt.AlphaComposite; import javax.swing.*; import javax.swing.UIManager.LookAndFeelInfo; public class ButtonTest { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new ButtonTest().createAndShowGUI(); } }); } private JFrame frame; private JButton opaqueButton1; private JButton opaqueButton2; private SoftJButton softButton1; private SoftJButton softButton2; public void createAndShowGUI() { opaqueButton1 = new JButton("Opaque Button"); opaqueButton2 = new JButton("Opaque Button"); softButton1 = new SoftJButton("Transparent Button"); softButton2 = new SoftJButton("Transparent Button"); opaqueButton1.setBackground(Color.GREEN); softButton1.setBackground(Color.GREEN); frame = new JFrame(); frame.getContentPane().setLayout(new java.awt.GridLayout(2, 2, 10, 10)); frame.add(opaqueButton1); frame.add(softButton1); frame.add(opaqueButton2); frame.add(softButton2); frame.setSize(567, 350); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); Timer alphaChanger = new Timer(30, new ActionListener() { private float incrementer = -.03f; @Override public void actionPerformed(ActionEvent e) { float newAlpha = softButton1.getAlpha() + incrementer; if (newAlpha < 0) { newAlpha = 0; incrementer = -incrementer; } else if (newAlpha > 1f) { newAlpha = 1f; incrementer = -incrementer; } softButton1.setAlpha(newAlpha); softButton2.setAlpha(newAlpha); } }); alphaChanger.start(); Timer uiChanger = new Timer(3500, new ActionListener() { private LookAndFeelInfo[] laf = UIManager.getInstalledLookAndFeels(); private int index = 1; @Override public void actionPerformed(ActionEvent e) { try { UIManager.setLookAndFeel(laf[index].getClassName()); SwingUtilities.updateComponentTreeUI(frame); } catch (Exception exc) { exc.printStackTrace(); } index = (index + 1) % laf.length; } }); uiChanger.start(); } public static class SoftJButton extends JButton { private static final JButton lafDeterminer = new JButton(); private static final long serialVersionUID = 1L; private boolean rectangularLAF; private float alpha = 1f; public SoftJButton() { this(null, null); } public SoftJButton(String text) { this(text, null); } public SoftJButton(String text, Icon icon) { super(text, icon); setOpaque(false); setFocusPainted(false); } public float getAlpha() { return alpha; } public void setAlpha(float alpha) { this.alpha = alpha; repaint(); } @Override public void paintComponent(java.awt.Graphics g) { java.awt.Graphics2D g2 = (java.awt.Graphics2D) g; g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha)); if (rectangularLAF && isBackgroundSet()) { Color c = getBackground(); g2.setColor(c); g.fillRect(0, 0, getWidth(), getHeight()); } super.paintComponent(g2); } @Override public void updateUI() { super.updateUI(); lafDeterminer.updateUI(); rectangularLAF = lafDeterminer.isOpaque(); } } } 
  • Поворотная квадратная панель в Java GUI
  • iPhone: скрыть панель поиска UITableView по умолчанию
  • Android RecyclerView добавление и удаление элементов
  • Переопределить цвета контекстного меню в Android
  • Один или несколько ресурсов имеют цель «голова», но не «головной» компонент был определен в представлении
  • Темный прозрачный слой над QMainWindow в Qt
  • Эффект JavaFX на фоне
  • Как установить выходной stream в TextArea
  • Blackberry - Загрузка / Ожидание экрана с анимацией
  • JButton ActionListener - обновление GUI только после нажатия JButton
  • Мероприятия по событиям в саперах
  • Interesting Posts

    Как удалить деревья каталогов через пакетный файл в Windows 7?

    Как добавить свойства объекта во время выполнения?

    Ссылка на текст из одной ячейки в уравнение в Excel

    Есть ли способ в Java преобразовать целое число в его порядковый номер?

    Разрешение MSB3247 – обнаружены конфликты между различными версиями одной и той же зависимой сборки

    Как создать фон формы параллелограмма?

    Сумма в нескольких столбцах с dplyr

    Как центрировать камеру так, чтобы маркер находился в нижней части экрана? (Google map api V2 Android)

    Macbook Mini-DVI to VGA Output Broken – причина?

    Сформировать все возможные комбинации элементов некоторых векторов (декартово произведение)

    Не удается загрузить данные из Yahoo Finance, используя Quantmod в R

    Атрибут .NET WebAPI Маршрутизация и наследование

    CGContextDrawPDFPage занимает большую часть памяти

    Почему я получаю ошибку типа «type not typeinfo» с типом enums

    Почему мой компьютер отключается под давлением?

    Давайте будем гением компьютера.