📄 messagewindow.java
字号:
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
public class MessageWindow extends JWindow
implements ActionListener, Runnable,
MouseMotionListener, MouseListener {
JEditorPane display;
JButton exit;
JPanel whole;
Thread runner;
Dimension screen;
int x, y, dx, dy;
Frame frame;
boolean startDrag;
public MessageWindow(Frame f, String msg) {
super(f);
frame = f;
whole = new JPanel(new BorderLayout());
whole.setBorder(new EtchedBorder());
if(frame != null) {
exit = new JButton(new ImageIcon("x.gif")) {
public Dimension getPreferredSize() {
return new Dimension(18, 16);
}
};
} else {
exit = new JButton("x");
}
exit = new JButton("x");
exit.addActionListener(this);
JPanel top = new JPanel(new BorderLayout());
top.add(exit, BorderLayout.EAST);
top.add(new JLabel("皋矫瘤 扩档快", JLabel.CENTER),
BorderLayout.CENTER);
StringBuffer buffer = new StringBuffer();
String from = msg.substring(0, msg.indexOf(":"));
buffer.append("<center><b>From : ");
buffer.append(from);
buffer.append("<hr></b></center>");
buffer.append(msg.substring(msg.indexOf(":") + 4));
display = new JEditorPane("text/html", buffer.toString());
display.setEditable(false);
display.addHyperlinkListener(new Hyperactive());
whole.add(top, BorderLayout.NORTH);
whole.add(new JScrollPane(display), BorderLayout.CENTER);
getContentPane().add(whole, BorderLayout.CENTER);
Toolkit tk = Toolkit.getDefaultToolkit();
screen = tk.getScreenSize();
setLocation(screen.width, screen.height);
runner = new Thread(this);
runner.start();
addMouseListener(this);
addMouseMotionListener(this);
setSize(200, 200);
setVisible(true);
}
public void run() {
try {
for(int i= 0; i < 50; i++) {
Thread.sleep(10);
setLocation(screen.width - 4*i - 2,
screen.height-4*i - 2);
}
} catch(Exception e) { }
}
public void actionPerformed(ActionEvent e) {
Object o = e.getSource();
if(o == exit) {
setVisible(false);
dispose();
}
}
public void mouseDragged(MouseEvent e) {
dx = x - e.getX();
dy = y - e.getY();
Point p = getLocation();
setLocation(p.x - dx, p.y - dy);
}
public void mouseMoved(MouseEvent e) { }
public void mouseReleased(MouseEvent e) { }
public void mouseClicked(MouseEvent e) { }
public void mouseEntered(MouseEvent e) { }
public void mouseExited(MouseEvent e) { }
public void mousePressed(MouseEvent e) {
x = e.getX();
y = e.getY();
}
class Hyperactive implements HyperlinkListener {
public void hyperlinkUpdate(HyperlinkEvent e) {
try {
display.setPage(e.getURL());
} catch (Throwable t) { }
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -