如何在java里实现浮动窗口??? 如何实现在Java里的浮动窗口??就像SourceInsight?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.awt.Color;import java.awt.Cursor;import java.awt.Point;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.event.MouseMotionAdapter;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenuItem;import javax.swing.JPopupMenu;import javax.swing.JWindow;import javax.swing.border.LineBorder;public class WindowTest extends JFrame{ class ToolTipWindow extends JWindow implements Runnable { private final class MouseAdapterL extends MouseAdapter { public void mouseReleased(MouseEvent e) { maybeShowPopup(e); } private void maybeShowPopup(MouseEvent e) { if (e.isPopupTrigger()) { popup.show(e.getComponent(), e.getX(), e.getY()); } } public void mousePressed(MouseEvent e) { p1 = e.getPoint(); } JPopupMenu popup; MouseAdapterL(JPopupMenu popupMenu) { popup = popupMenu; } public void mouseEntered(MouseEvent e) { super.mouseEntered(e); mouseEntered = true; } public void mouseExited(MouseEvent e) { super.mouseExited(e); mouseEntered = false; } } public void run() { StringBuffer buffer = new StringBuffer(" I AM ALARM1 THIS IS THE MSG2"); int index = 0; int len = buffer.length(); StringBuffer buffer2 = new StringBuffer(len); while (true) { if (!mouseEntered) { index = ((++index) % len); buffer2.setLength(0); buffer2.append(buffer.substring(index)); buffer2.append(buffer.substring(0, index)); label.setText(buffer2.toString()); } try { Thread.sleep(200); } catch (InterruptedException e) { e.printStackTrace(); } } } private JLabel label; Point p1; public ToolTipWindow(JFrame frame) { super(frame); getContentPane().add(getLabel()); setLocation(100, 10); setSize(400, 20); setVisible(true); } JPopupMenu popup; private boolean mouseEntered; protected JLabel getLabel() { if (label == null) { label = new JLabel(" I AM ALARM1 THIS IS THE MSG2"); label.setBorder(new LineBorder(Color.WHITE, 2, true)); // Create the popup menu. popup = new JPopupMenu(); JMenuItem menuItem = new JMenuItem("A popup menu item"); popup.add(menuItem); label.addMouseMotionListener(new MouseMotionAdapter() { public void mouseDragged(MouseEvent e) { setLocation(getLocation().x + e.getPoint().x - p1.x, getLocation().y + e.getPoint().y - p1.y); } }); label.addMouseListener(new MouseAdapterL(popup)); } return label; } } /** * Launch the application * * @param args */ public static void main(String args[]) { try { WindowTest frame = new WindowTest(); ToolTipWindow win = frame.new ToolTipWindow(frame); win.toFront(); (new Thread(win)).start(); frame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } /** * Create the frame */ public WindowTest() { super(); setBounds(100, 100, 500, 375); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setExtendedState(JFrame.MAXIMIZED_BOTH); // }} java hibernate中如何得到前十条数据 一个麻烦的问题,谁来帮我? 问高手一个问题,求如下功能的代码 大量视频教程下载--下过的朋友顶下-收集的很辛苦啊 关于JAVA中的主类名与文件名! 有个问题,我的一个JFrame里包括一个JPanel java的内存释放问题 有没有人对Calendar比较熟悉的阿 急!垃圾回收的问题! 一个很让人理解的问题! 关于C++通过JNI调Java方法的问题 java与sqlserver连接问题
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JWindow;
import javax.swing.border.LineBorder;public class WindowTest extends JFrame
{
class ToolTipWindow extends JWindow implements Runnable
{
private final class MouseAdapterL extends MouseAdapter
{
public void mouseReleased(MouseEvent e)
{
maybeShowPopup(e);
} private void maybeShowPopup(MouseEvent e)
{
if (e.isPopupTrigger())
{
popup.show(e.getComponent(), e.getX(), e.getY());
}
} public void mousePressed(MouseEvent e)
{
p1 = e.getPoint();
} JPopupMenu popup; MouseAdapterL(JPopupMenu popupMenu)
{
popup = popupMenu;
} public void mouseEntered(MouseEvent e)
{
super.mouseEntered(e);
mouseEntered = true;
} public void mouseExited(MouseEvent e)
{
super.mouseExited(e);
mouseEntered = false;
}
} public void run()
{
StringBuffer buffer = new StringBuffer(" I AM ALARM1 THIS IS THE MSG2");
int index = 0;
int len = buffer.length();
StringBuffer buffer2 = new StringBuffer(len);
while (true)
{
if (!mouseEntered)
{
index = ((++index) % len);
buffer2.setLength(0);
buffer2.append(buffer.substring(index));
buffer2.append(buffer.substring(0, index));
label.setText(buffer2.toString());
}
try
{
Thread.sleep(200);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
} private JLabel label; Point p1; public ToolTipWindow(JFrame frame)
{
super(frame);
getContentPane().add(getLabel());
setLocation(100, 10);
setSize(400, 20);
setVisible(true);
} JPopupMenu popup; private boolean mouseEntered; protected JLabel getLabel()
{
if (label == null)
{
label = new JLabel(" I AM ALARM1 THIS IS THE MSG2");
label.setBorder(new LineBorder(Color.WHITE, 2, true));
// Create the popup menu.
popup = new JPopupMenu();
JMenuItem menuItem = new JMenuItem("A popup menu item");
popup.add(menuItem);
label.addMouseMotionListener(new MouseMotionAdapter()
{
public void mouseDragged(MouseEvent e)
{
setLocation(getLocation().x + e.getPoint().x - p1.x, getLocation().y + e.getPoint().y - p1.y);
}
});
label.addMouseListener(new MouseAdapterL(popup));
}
return label;
}
} /**
* Launch the application
*
* @param args
*/
public static void main(String args[])
{
try
{
WindowTest frame = new WindowTest();
ToolTipWindow win = frame.new ToolTipWindow(frame);
win.toFront();
(new Thread(win)).start();
frame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
frame.setVisible(true);
}
catch (Exception e)
{
e.printStackTrace();
}
} /**
* Create the frame
*/
public WindowTest()
{
super();
setBounds(100, 100, 500, 375);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setExtendedState(JFrame.MAXIMIZED_BOTH);
//
}
}