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

📄 simpleconsole.java

📁 J2me唆哈的代码
💻 JAVA
字号:
package a.a.a.b;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.io.*;

public class SimpleConsole extends JWindow implements Runnable {
	public static final long serialVersionUID=1;
	
	private JTextArea t;
	private PipedOutputStream pos;
	private PipedInputStream pis;

	private byte[] buffer;
	private int bufferLen;
	private JPopupMenu popmenu;
	private String version=e.getString("Version",e.TYPE_ABOUT)+e.Version+"\r\n"+e.getString("DLLVersion",e.TYPE_ABOUT)+"\r\n\r\n";
	private boolean canRun;
	public SimpleConsole(Frame owner) {
		super(owner);
		canRun=true;
		t=new JTextArea(version);
		t.setBackground(Color.BLACK);
		t.setForeground(Color.LIGHT_GRAY);
		t.setEditable(false);

		JScrollPane p=new JScrollPane(t);
		p.setBackground(t.getBackground());
		MatteBorder border1=new BQMatteBorder(5,10,0,0,Color.GRAY);
		TitledBorder border=new TitledBorder(border1, e.getString("Console",e.TYPE_OTHER));
		border.setTitleColor(Color.BLUE);
		border.setTitleFont(t.getFont());
		p.setBorder(border);
		this.getContentPane().add(p);
		try{
			pis=new PipedInputStream();
			pos=new PipedOutputStream(pis);
			
		}catch(Exception exp){
			exp.printStackTrace();
		}
		bufferLen=512;
		buffer=new byte[bufferLen];

		popmenu=new JPopupMenu();
		JMenuItem jmi=new JMenuItem(e.getString("Clean",e.TYPE_OTHER));
		jmi.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent evt2){
				clean();
			}
		});
		popmenu.add(jmi);
		t.addMouseListener(new MouseAdapter(){
			public void mousePressed(MouseEvent evt){
				if((evt.getModifiers()&InputEvent.BUTTON3_MASK)!=0){
					popmenu.show(t,evt.getX(),evt.getY());
				}
			}
		});
		t.setFocusable(false);
		p.setFocusable(false);
		this.setFocusable(false);
		p.setPreferredSize(new Dimension(300,400));
		this.pack();
	}

	public OutputStream getOutputStream(){
		return pos;
	}
	
	public OutputStream getErrStream(){
		return pos;
	}
	
	public void stopConsole(){
		canRun=false;
	}
	
	synchronized public void clean(){
		try{
			t.setText(version);
		}catch(Exception exp){
			exp.printStackTrace();
		}
	}
	
	public void run() {
		try{
			while(canRun){
				while(pis.available()>0){
					int rd=pis.read(buffer);
					t.append(new String(buffer,0,rd));
					t.setCaretPosition(t.getDocument().getLength());
				}
				Thread.sleep(100);
			}
		}catch(Exception exp){
			exp.printStackTrace();
		}
	}

}

⌨️ 快捷键说明

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