Softhema Group
This is an applet example for scanf
Source code:
//Example for scanf
//Copyright by Softhema 2002
//Autor:Harald Stübinger
//All rights reserved.
import java.awt.*;
import java.awt.event.*;
import softhema.system.toolkits.*;
import java.applet.*;
public class AppletScanfTest extends Applet
{
Panel panel1 = new Panel();
Label label1 = new Label();
Label label2 = new Label();
Label label3 = new Label();
Label label4 = new Label();
Panel panel2 = new Panel();
Label label5 = new Label();
BorderLayout borderLayout2 = new BorderLayout();
Label label6 = new Label();
Panel panel3 = new Panel();
BorderLayout borderLayout3 = new BorderLayout();
Panel panel4 = new Panel();
Panel panel5 = new Panel();
TextArea txtInput = new TextArea();
Label label7 = new Label();
BorderLayout borderLayout4 = new BorderLayout();
Panel panel6 = new Panel();
Label label8 = new Label();
TextField txtFormatString = new TextField();
BorderLayout borderLayout5 = new BorderLayout();
Panel panel7 = new Panel();
BorderLayout borderLayout6 = new BorderLayout();
Button btnGenerate = new Button();
Panel panel8 = new Panel();
Panel panel9 = new Panel();
Label label9 = new Label();
Label label10 = new Label();
Label label11 = new Label();
Label label12 = new Label();
BorderLayout borderLayout8 = new BorderLayout();
Panel panel10 = new Panel();
Label label13 = new Label();
TextArea txtAS2 = new TextArea();
BorderLayout borderLayout9 = new BorderLayout();
TextArea txtAS3 = new TextArea();
Label label14 = new Label();
BorderLayout borderLayout10 = new BorderLayout();
Panel panel11 = new Panel();
TextArea txtAS4 = new TextArea();
Label label15 = new Label();
BorderLayout borderLayout11 = new BorderLayout();
Panel panel12 = new Panel();
TextArea txtAS5 = new TextArea();
Label label16 = new Label();
BorderLayout borderLayout12 = new BorderLayout();
Panel panel13 = new Panel();
TextArea txtAS0 = new TextArea();
Label label17 = new Label();
BorderLayout borderLayout13 = new BorderLayout();
Panel panel14 = new Panel();
TextArea txtAS1 = new TextArea();
Label label18 = new Label();
BorderLayout borderLayout14 = new BorderLayout();
Panel panel15 = new Panel();
BorderLayout borderLayout15 = new BorderLayout();
GridLayout gridLayout1 = new GridLayout();
Panel panel16 = new Panel();
BorderLayout borderLayout1 = new BorderLayout();
Panel panel17 = new Panel();
Button btnExample2 = new Button();
Button btnExample3 = new Button();
Button btnExample4 = new Button();
Button btnExample1 = new Button();
Button btnExample5 = new Button();
Button btnExample6 = new Button();
GridLayout gridLayout2 = new GridLayout();
BorderLayout borderLayout16 = new BorderLayout();
Panel panel18 = new Panel();
BorderLayout borderLayout7 = new BorderLayout();
Panel panel19 = new Panel();
Label label19 = new Label();
TextField txtCount = new TextField();
FlowLayout flowLayout1 = new FlowLayout();
BorderLayout borderLayout17 = new BorderLayout();
public AppletScanfTest()
{
try
{
this.setLayout(borderLayout1);
panel1.setLayout(borderLayout2);
label5.setText("String[] as = new String[6];");
panel2.setLayout(borderLayout3);
label6.setText("count = softhema.system.toolkits.ToolkitString.sscanf( input, formatstring, " +
"as);");
panel3.setLayout(borderLayout15);
panel4.setLayout(borderLayout4);
label7.setText("input:");
panel5.setLayout(borderLayout6);
panel6.setLayout(borderLayout5);
label8.setText("formatstring:");
panel7.setLayout(borderLayout17);
btnGenerate.setLabel("scan input");
btnGenerate.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
btnGenerate_actionPerformed(e);
}
});
panel8.setLayout(borderLayout8);
panel9.setLayout(gridLayout1);
borderLayout6.setVgap(5);
panel10.setLayout(borderLayout9);
label13.setText("as[2] :");
txtAS2.setEditable(false);
txtAS3.setEditable(false);
label14.setText("as[3] :");
panel11.setLayout(borderLayout10);
txtAS4.setEditable(false);
label15.setText("as[4] :");
panel12.setLayout(borderLayout11);
txtAS5.setEditable(false);
label16.setText("as[5] :");
panel13.setLayout(borderLayout12);
txtAS0.setEditable(false);
label17.setText("as[0] :");
panel14.setLayout(borderLayout13);
txtAS1.setEditable(false);
label18.setText("as[1] :");
panel15.setLayout(borderLayout14);
gridLayout1.setRows(6);
panel16.setLayout(borderLayout16);
panel17.setLayout(gridLayout2);
btnExample2.setLabel("Example 2");
btnExample2.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
btnExample2_actionPerformed(e);
}
});
btnExample3.setLabel("Example 3");
btnExample3.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
btnExample3_actionPerformed(e);
}
});
btnExample4.setLabel("Example 4");
btnExample4.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
btnExample4_actionPerformed(e);
}
});
btnExample1.setLabel("Example 1");
btnExample1.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
btnExample1_actionPerformed(e);
}
});
btnExample5.setLabel("Example 5");
btnExample5.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
btnExample5_actionPerformed(e);
}
});
btnExample6.setLabel("Example 6");
btnExample6.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
btnExample6_actionPerformed(e);
}
});
gridLayout2.setHgap(3);
borderLayout3.setVgap(4);
panel18.setLayout(borderLayout7);
panel19.setLayout(flowLayout1);
label19.setText("count:");
borderLayout17.setVgap(2);
borderLayout15.setVgap(3);
txtCount.setEditable(false);
txtCount.setColumns(10);
this.add(label1, BorderLayout.NORTH);
this.add(label2, BorderLayout.EAST);
this.add(label3, BorderLayout.SOUTH);
this.add(label4, BorderLayout.WEST);
this.add(panel16, BorderLayout.CENTER);
panel16.add(panel1, BorderLayout.CENTER);
panel1.add(panel2, BorderLayout.CENTER);
panel2.add(label6, BorderLayout.NORTH);
panel2.add(panel3, BorderLayout.CENTER);
panel3.add(panel4, BorderLayout.NORTH);
panel4.add(txtInput, BorderLayout.CENTER);
panel4.add(label7, BorderLayout.WEST);
panel3.add(panel5, BorderLayout.CENTER);
panel5.add(panel6, BorderLayout.NORTH);
panel6.add(label8, BorderLayout.WEST);
panel6.add(txtFormatString, BorderLayout.CENTER);
panel5.add(panel7, BorderLayout.CENTER);
panel7.add(panel18, BorderLayout.CENTER);
panel18.add(panel8, BorderLayout.CENTER);
panel8.add(panel9, BorderLayout.CENTER);
panel9.add(panel14, null);
panel14.add(label17, BorderLayout.WEST);
panel14.add(txtAS0, BorderLayout.CENTER);
panel9.add(panel15, null);
panel15.add(label18, BorderLayout.WEST);
panel15.add(txtAS1, BorderLayout.CENTER);
panel9.add(panel10, null);
panel10.add(label13, BorderLayout.WEST);
panel10.add(txtAS2, BorderLayout.CENTER);
panel9.add(panel11, null);
panel11.add(label14, BorderLayout.WEST);
panel11.add(txtAS3, BorderLayout.CENTER);
panel9.add(panel12, null);
panel12.add(label15, BorderLayout.WEST);
panel12.add(txtAS4, BorderLayout.CENTER);
panel9.add(panel13, null);
panel13.add(label16, BorderLayout.WEST);
panel13.add(txtAS5, BorderLayout.CENTER);
panel8.add(label9, BorderLayout.NORTH);
panel8.add(label10, BorderLayout.WEST);
panel8.add(label11, BorderLayout.EAST);
panel8.add(label12, BorderLayout.SOUTH);
panel18.add(btnGenerate, BorderLayout.NORTH);
panel7.add(panel19, BorderLayout.SOUTH);
panel19.add(label19, null);
panel19.add(txtCount, null);
panel1.add(label5, BorderLayout.NORTH);
panel16.add(panel17, BorderLayout.NORTH);
panel17.add(btnExample1, null);
panel17.add(btnExample2, null);
panel17.add(btnExample3, null);
panel17.add(btnExample4, null);
panel17.add(btnExample5, null);
panel17.add(btnExample6, null);
setBackground( SystemColor.control );
}
catch(Exception e)
{
e.printStackTrace();
}
}
void btnExample1_actionPerformed(ActionEvent e)
{
txtInput.setText("Hello World");
txtFormatString.setText("%s %s");
txtAS0.setText("");
txtAS1.setText("");
txtAS2.setText("");
txtAS3.setText("");
txtAS4.setText("");
txtAS5.setText("");
txtCount.setText("");
}
void btnExample2_actionPerformed(ActionEvent e)
{
txtInput.setText("ff\nff");
txtFormatString.setText("%s %x");
txtAS0.setText("");
txtAS1.setText("");
txtAS2.setText("");
txtAS3.setText("");
txtAS4.setText("");
txtAS5.setText("");
txtCount.setText("");
}
void btnExample3_actionPerformed(ActionEvent e)
{
txtInput.setText("a b c");
txtFormatString.setText("%2$s %1$s %0$s");
txtAS0.setText("");
txtAS1.setText("");
txtAS2.setText("");
txtAS3.setText("");
txtAS4.setText("");
txtAS5.setText("");
txtCount.setText("");
}
void btnExample4_actionPerformed(ActionEvent e)
{
txtInput.setText("10\n10\n10");
txtFormatString.setText("%d %x %o");
txtAS0.setText("");
txtAS1.setText("");
txtAS2.setText("");
txtAS3.setText("");
txtAS4.setText("");
txtAS5.setText("");
txtCount.setText("");
}
void btnExample5_actionPerformed(ActionEvent e)
{
txtInput.setText("10\n0xf\n010\n123456789123456789123456789123456789123456789" +
"\n123456789123456789123456789123456789123456789");
txtFormatString.setText("%i %i %i %ld %lx");
txtAS0.setText("");
txtAS1.setText("");
txtAS2.setText("");
txtAS3.setText("");
txtAS4.setText("");
txtAS5.setText("");
txtCount.setText("");
}
void btnExample6_actionPerformed(ActionEvent e)
{
txtInput.setText("abcdefghijklmnopqrstuvwxyz");
txtFormatString.setText("%[a-d] %[a-h] %[^m] %s");
txtAS0.setText("");
txtAS1.setText("");
txtAS2.setText("");
txtAS3.setText("");
txtAS4.setText("");
txtAS5.setText("");
txtCount.setText("");
}
void btnGenerate_actionPerformed(ActionEvent e)
{
try
{
String sInput = txtInput.getText();
String sFormat = txtFormatString.getText();
String[] as = new String[6];
sFormat = ToolkitString.strUnescape_Java( sFormat );
as[0] = "";
as[1] = "";
as[2] = "";
as[3] = "";
as[4] = "";
as[5] = "";
int count = ToolkitString.sscanf(sInput, sFormat, as);
txtAS0.setText( as[0] );
txtAS1.setText( as[1] );
txtAS2.setText( as[2] );
txtAS3.setText( as[3] );
txtAS4.setText( as[4] );
txtAS5.setText( as[5] );
txtCount.setText( Integer.toString(count) );
}
catch( Throwable t )
{
txtAS0.setText( t.getClass().getName() + "; " + t.getMessage() );
txtAS1.setText("");
txtAS2.setText("");
txtAS3.setText("");
txtAS4.setText("");
txtAS5.setText("");
txtCount.setText("");
}
}
}