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

📄 bsautoscrolltextpane.java

📁 一款即时通讯软件
💻 JAVA
字号:
package edu.ou.kmi.buddyspace.gui;

/*
 * BSAutoScrollTextPane.java
 *
 * Project: BuddySpace
 * (C) Copyright Knowledge Media Institute 2002
 *
 *
 * Created on 13 December 2002, 9:51
 */

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.text.*;

import org.jabber.jabberbeans.util.*;

import edu.ou.kmi.buddyspace.utils.*;

/**
 * <code>BSAutoScrollTextPane</code> extends <code>AutoScrollTextPane</code>
 * and provides additional BuddySpace styles and calls directly to BSMainFrame.
 *
 * @author  Jiri Komzak, Knowledge Media Institute, Open University, United Kingdom
 */
public class BSAutoScrollTextPane extends AutoScrollTextPane 
                                  implements ActionListener {
    
    public static final String URL_BUTTON_STYLE   = "urlButton";
    
    protected BSMainFrame mainFrame = null;
    
    public BSAutoScrollTextPane(boolean autoScrollDown) {
        
        super(autoScrollDown);
    }
    
    
    protected void initStyles() {
        super.initStyles();
        
        Style regularStyle = StyleContext.getDefaultStyleContext().
                                           getStyle(REGULAR_STYLE);

        Style s = addStyle(URL_BUTTON_STYLE, regularStyle);
    }
    
    
    /** Sets BSMainFrame to allow calling of actions */
    public void setMainFrame(BSMainFrame mainFrame) {
        this.mainFrame = mainFrame;
    }
    
    
    /** Overloaded append function, which scrolls down */
    public void append(String str, String styleName) {
        
        if (URL_STYLE.equals(styleName)) {
            appendURLImpl(str);
            scroll();
        }
        else
            super.append(str, styleName);
    }
    
    
    protected void appendURLImpl(String url) {
        //appendImpl(url, URL_STYLE);
        ImageIcon icon = new ImageIcon(ClassLoader.getSystemResource("images/collapse2.gif"));
        BSJIDActionButton button = new BSJIDActionButton(icon, new JID(url));
        button.setMargin(new Insets(0,0,0,0));
        button.addActionListener(this);
        StyleConstants.setComponent(getStyle(URL_BUTTON_STYLE), button);
        appendImpl(" ", URL_BUTTON_STYLE);
        appendImpl("\n", REGULAR_STYLE);
    }
    
    public void actionPerformed(ActionEvent evt) {
        if (evt.getSource() instanceof BSJIDActionButton) {
            BSJIDActionButton button = (BSJIDActionButton) evt.getSource();
            JID jid = button.getJID();
            String namespace = "http";
            if (mainFrame != null)
                mainFrame.performAction(jid, namespace);
        }
    }
    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -