import java.awt.Color;
import java.awt.Font;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import javax.swing.JFrame;
/**
* @author Darimont<br>
* @version 1.0<br>
* Date of creation: 29.03.2004<br>
* File: SimpleTitleJFrame.java<br>
* Modifier: Darimont<br>
* Revision: Revision<br>
* State: Germany<br>
*/
public class SimpleTitleJFrame extends JFrame {
private final Font font = new Font("Arial", Font.BOLD, 11);
int oldX;
int oldY;
public SimpleTitleJFrame() {
super("Test");
setLocation(100, 100);
setSize(320, 240);
setUndecorated(true);
addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent evt) {
if (evt.getY() > 15) {
System.exit(0);
}
}
});
addMouseMotionListener(new MouseMotionAdapter() {
public void mouseDragged(MouseEvent evt) {
Point p = getLocationOnScreen();
setLocation(
(int) (p.getX() + evt.getX()),
(int) (p.getY() + evt.getY()));
}
});
}
public static void main(String[] args) {
new SimpleTitleJFrame().show();
}
public void paint(Graphics g) {
super.paint(g);
paintTitleBar(g);
}
/**
* @param g
*/
private void paintTitleBar(Graphics g) {
// TODO Auto-generated method stub
final int currentWidth = (int) getSize().getWidth();
final int height = 15;
Graphics2D g2d = (Graphics2D) g;
final GradientPaint gradientPaint =
new GradientPaint(
0,
0,
Color.BLUE,
currentWidth,
height,
Color.RED);
g2d.setPaint(gradientPaint);
g2d.fillRect(0, 0, currentWidth, height);
g2d.setColor(Color.WHITE);
g2d.setFont(font);
g2d.drawString(getTitle(), 5, 12);
}
}