📄 simpleconsole.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 + -