Moving Banner on Window

import java.awt.Graphics;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.event.MouseMotionAdapter;

public class MoveBannerFrame extends JFrame {
    public MoveBannerFrame() {
        BannerLabel lbl = new BannerLabel();
       
        lbl.setFont(new Font("TimesRoman", Font.BOLD, 32));
        lbl.setForeground(Color.RED);
       
        add(lbl);
    }
    public static void main(String[] args) {
        MoveBannerFrame frame = new MoveBannerFrame();
        frame.setTitle("Mouse Motion");
        frame.setSize(1000, 600);
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
   
    private static class BannerLabel extends JLabel {
        private String message = "Welcome to Java";
        private int x = 10;
        private int y = 10;
       
        public BannerLabel() {
            this.message = message;
            addMouseMotionListener(new MouseMotionAdapter() {
                @Override
                public void mouseMoved(MouseEvent e) {
                    x = e.getX();
                    y = e.getY();
                    repaint();
                }
            });
        }
       
        @Override
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            g.drawString(message, x, y);
        }
    }
}

Comments

Popular posts from this blog

Zeller's Congruence

Property Event-Delegation

Method with variable arguments