Synthuse version 1.0.5

base version by ejakubowski
This commit is contained in:
Edward Jakubowski
2014-02-16 21:56:24 -05:00
parent 5cc705777b
commit 2a7d618f59
35 changed files with 3417 additions and 0 deletions

View File

@@ -0,0 +1,72 @@
/*
* Copyright 2014, Synthuse.org
* Released under the Apache Version 2.0 License.
*
* last modified by ejakubowski
*/
package org.synthuse;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Toolkit;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JLabel;
import javax.swing.JWindow;
public class StatusWindow extends JWindow {
private static final long serialVersionUID = 1L;
public static int FONT_SIZE = 14;
public static int FONT_BOLD = Font.BOLD; //Font.PLAIN
public static int Y_BOTTOM_OFFSET = -100;
public static Color BACKGROUND_COLOR = Color.yellow;
public static Color FOREGROUND_COLOR = Color.black;
//private int displayTime = -1;
//private String displayText = "";
public StatusWindow(String lblText, int displayTime) {
super();
//this.displayTime = displayTime;
//this.displayText = lblText;
//this.setLayout(new FlowLayout());
JLabel lbl = new JLabel(lblText);
lbl.setFont(new Font(lbl.getName(), FONT_BOLD, FONT_SIZE));
lbl.setOpaque(true); //background isn't painted without this
lbl.setBackground(BACKGROUND_COLOR);
lbl.setForeground(FOREGROUND_COLOR);
this.getContentPane().setLayout(new FlowLayout());
this.getContentPane().add(lbl);
this.pack();
this.setVisible(true);
//
if (displayTime > 0) {
Timer timer = new Timer(true);
timer.schedule(new TimerTask() {
@Override
public void run() {
StatusWindow.this.dispose();
}
}, displayTime);
}
}
@Override
public void setVisible(final boolean visible) {
super.setVisible(visible);
// ...and bring window to the front.. in a strange and weird way
if (visible) {
super.setAlwaysOnTop(true);
super.toFront();
super.requestFocus();
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
//this.setLocation(dim.width/2-this.getSize().width/2, dim.height/2-this.getSize().height/2);
this.setLocation(dim.width/2-this.getSize().width/2, dim.height + Y_BOTTOM_OFFSET );
}
}
}