Warning: session_start(): open(/var/lib/php/sessions/sess_sisd96gitj0im0j754i30tbv7o, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!614 // actionListener {
!1000805 // awt {
!include #1000943 // DelayedUpdate
import java.awt.event.*;
static class Console extends WindowAdapter implements WindowListener, ActionListener, Runnable {
private JFrame frame;
private JTextArea textArea;
new StringBuffer buf;
private Thread reader;
private Thread reader2;
private boolean quit;
private final PipedInputStream pin=new PipedInputStream();
private final PipedInputStream pin2=new PipedInputStream();
final DelayedUpdate du = new DelayedUpdate(runnable {
textArea.append(buf.substring(textArea.getText().length()));
});
public Console()
{
// create all components and add them
frame=new JFrame("JavaX Output");
/*Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize=new Dimension((int)(screenSize.width/2),(int)(screenSize.height/2));
int x=(int)(frameSize.width/2);
int y=(int)(frameSize.height/2);
frame.setBounds(x,y,frameSize.width,frameSize.height);*/
// put in right-bottom corner
Rectangle r = GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds();
int w = 550, h = 200;
frame.setBounds(r.x+r.width-w, r.y+r.height-h, w, h);
textArea=new JTextArea();
textArea.setEditable(false);
JButton button=new JButton("clear");
JButton buttonkill=new JButton("kill");
JPanel buttons = new JPanel(new GridLayout(1, 2));
buttons.add(button);
buttons.add(buttonkill);
frame.getContentPane().setLayout(new BorderLayout());
frame.getContentPane().add(new JScrollPane(textArea),BorderLayout.CENTER);
frame.getContentPane().add(buttons,BorderLayout.SOUTH);
frame.setVisible(true);
//frame.addWindowListener(this); // disabled for now
button.addActionListener(this);
buttonkill.addActionListener(actionListener {
print("Console: Kill button pressed!");
System.exit(0);
});
try
{
PipedOutputStream pout=new PipedOutputStream(this.pin);
System.setOut(new PrintStream(pout,true));
}
catch (java.io.IOException io)
{
appendText("Couldn't redirect STDOUT to this console\n"+io.getMessage());
}
catch (SecurityException se)
{
appendText("Couldn't redirect STDOUT to this console\n"+se.getMessage());
}
try
{
PipedOutputStream pout2=new PipedOutputStream(this.pin2);
System.setErr(new PrintStream(pout2,true));
}
catch (java.io.IOException io)
{
appendText("Couldn't redirect STDERR to this console\n"+io.getMessage());
}
catch (SecurityException se)
{
appendText("Couldn't redirect STDERR to this console\n"+se.getMessage());
}
quit=false; // signals the Threads that they should exit
// Starting two seperate threads to read from the PipedInputStreams
//
reader=new Thread(this);
reader.setDaemon(true);
reader.start();
//
reader2=new Thread(this);
reader2.setDaemon(true);
reader2.start();
}
public synchronized void windowClosed(WindowEvent evt)
{
quit=true;
this.notifyAll(); // stop all threads
try { reader.join(1000);pin.close(); } catch (Exception e){}
try { reader2.join(1000);pin2.close(); } catch (Exception e){}
System.exit(0);
}
public synchronized void windowClosing(WindowEvent evt)
{
frame.setVisible(false); // default behaviour of JFrame
frame.dispose();
}
public synchronized void actionPerformed(ActionEvent evt)
{
textArea.setText("");
buf = new StringBuffer;
}
public synchronized void run()
{
try
{
while (Thread.currentThread()==reader)
{
try { this.wait(100);}catch(InterruptedException ie) {}
if (pin.available()!=0)
{
String input=this.readLine(pin);
appendText(input);
}
if (quit) return;
}
while (Thread.currentThread()==reader2)
{
try { this.wait(100);}catch(InterruptedException ie) {}
if (pin2.available()!=0)
{
String input=this.readLine(pin2);
appendText(input);
}
if (quit) return;
}
} catch (Exception e)
{
appendText("\nConsole reports an Internal error.");
appendText("The error is: "+e);
}
}
public synchronized String readLine(PipedInputStream in) throws IOException
{
String input="";
do
{
int available=in.available();
if (available==0) break;
byte b[]=new byte[available];
in.read(b);
input=input+new String(b,0,b.length);
}while( !input.endsWith("\n") && !input.endsWith("\r\n") && !quit);
return input;
}
public void appendText(String s) {
buf.append(s);
/*textArea.append(s);
textArea.setCaretPosition(textArea.getText().length()); // Hopefully not too slow...
*/
du.trigger();
}
}