package com.github.cbpos1989.gui_tutorials; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; /** * App to demonstrate the use of ImageIcons and other javax.swing components * * @ Colm O'Sullivan */ public class IconApp extends JFrame { /** * */ private static final long serialVersionUID = 1L; private JPanel contentPane; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { IconApp frame = new IconApp(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public IconApp() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 450, 300); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setLayout(new BorderLayout(0, 0)); setContentPane(contentPane); createLabel(); } protected ImageIcon createImageIcon(String path,String description) { java.net.URL imgURL = getClass().getResource(path); if (imgURL != null) { return new ImageIcon(imgURL, description); } else { System.err.println("Couldn't find file: " + path); return null; } } private void createLabel(){ ImageIcon icon = createImageIcon("images/Typewritter_key.png","Typewritter Key"); JLabel label = new JLabel("TypeKey",icon,JLabel.CENTER); contentPane.add(label); label.setVisible(true); } }