⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 messagewindow.java

📁 简单的RMI应用 对初学者了解rmi有很大的帮助
💻 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 + -