import java.awt.*; import java.applet.*; import java.io.*; import java.net.*; import java.util.*; public class DataSetControls extends Panel { GridBagLayout gbl; GridBagConstraints gbc; Label dataLabel; Label dataNameLabel; TextField dataNameTxt; Label dataTypeLabel; Choice typeChoice; Label totalSizeLabel; TextField totalSizeTxt; Choice sizeChoice; Label bytesUnitLabel; TextField bytesUnitTxt; Label floatsUnitLabel; TextField floatsUnitTxt; Label operationUnitLabel; TextField operationUnitTxt; private void add(Component c, GridBagLayout gbl, GridBagConstraints gbc, int x, int y, int w, int h) { gbc.gridx = x; gbc.gridy = y; gbc.gridwidth = w; gbc.gridheight = h; gbl.setConstraints(c,gbc); add(c); } public void paint(Graphics g) { Dimension d = size(); Insets in = insets(); Font f = new Font("TimesRoman", Font.BOLD, 14); FontMetrics fm = g.getFontMetrics(f); String s = "DATA SET"; g.setFont(f); //g.drawString(s, d.width/4+58, d.height/4-60); g.drawRect(0, 0, d.width-1, d.height-1); } public DataSetControls() { gbl = new GridBagLayout(); setLayout(gbl); dataLabel = new Label("DATA SET",Label.CENTER); //dataLabel.setBackground(Color.yellow); dataLabel.setForeground(Color.blue); dataNameLabel = new Label("Name :",Label.RIGHT); dataNameTxt = new TextField(); dataTypeLabel = new Label("Type :",Label.RIGHT); typeChoice = new Choice(); typeChoice.addItem("Grid1dim"); typeChoice.addItem("Grid2dim"); typeChoice.addItem("Grid3dim"); sizeChoice = new Choice(); //add("Center", myChoice); //nodeLabel.setText("Type"); sizeChoice.addItem("KByte"); sizeChoice.addItem("MByte"); sizeChoice.addItem("GByte"); totalSizeLabel = new Label("Total Size :",Label.RIGHT); totalSizeTxt = new TextField(); bytesUnitLabel = new Label("Bytes/Unit :",Label.RIGHT); bytesUnitTxt = new TextField(); floatsUnitLabel = new Label("Floats/Unit :",Label.RIGHT); floatsUnitTxt = new TextField(5); operationUnitLabel = new Label("Operation/Unit :",Label.RIGHT); operationUnitTxt = new TextField(5); Label blankLabel = new Label(" "); gbc = new GridBagConstraints(); gbc.fill = GridBagConstraints.HORIZONTAL; gbc.weightx = 20; gbc.weighty = 100; gbc.ipadx = 1; gbc.ipady = 1; //gbc.anchor = GridBagConstraints.SOUTH; add(dataLabel, gbl, gbc, 1, 0, 2, 1); //add(blankLabel, gbl, gbc, 0, 0, 1, 1); add(dataNameLabel, gbl, gbc, 1, 1, 1, 1); add(dataNameTxt, gbl, gbc, 2, 1, 1, 1); //add(dataLabel); add(dataTypeLabel, gbl, gbc, 1, 2, 1, 1); add(typeChoice, gbl, gbc, 2, 2, 1, 1); //add(blankLabel, gbl, gbc, 2, 1, 2, 1); add(totalSizeLabel, gbl, gbc, 1, 3, 1, 1); add(totalSizeTxt, gbl, gbc, 2, 3, 1, 1); //add(sizeChoice, gbl, gbc, 3, 3, 1, 1); add(bytesUnitLabel, gbl, gbc, 1, 4, 1, 1); add(bytesUnitTxt, gbl, gbc, 2, 4, 1, 1); add(floatsUnitLabel, gbl, gbc, 1, 5, 1, 1); add(floatsUnitTxt, gbl, gbc, 2, 5, 1, 1); add(operationUnitLabel, gbl, gbc, 1, 6, 1, 1); add(operationUnitTxt, gbl, gbc, 2, 6, 1, 1); } public Insets insets() { return new Insets(5,5,5,5); } public void setExample(String str) { int count, i; clearAll(); String s; StringTokenizer t = new StringTokenizer(str, " "); s = t.nextToken(); dataNameTxt.setText(s); s = t.nextToken(); //System.out.println(">> :" + s); typeChoice.select(s); s = t.nextToken(); totalSizeTxt.setText(s); s = t.nextToken(); bytesUnitTxt.setText(s); s = t.nextToken(); floatsUnitTxt.setText(s); s = t.nextToken(); operationUnitTxt.setText(s); } public void setExample() { remove(typeChoice); dataNameTxt.setText("Jacobi"); typeChoice.select("Grid2dim"); totalSizeTxt.setText("1000000"); bytesUnitTxt.setText("4"); floatsUnitTxt.setText("4"); operationUnitTxt.setText("10"); } public void clearAll() { dataNameTxt.setText(""); typeChoice.select("Grid1dim"); totalSizeTxt.setText(""); bytesUnitTxt.setText(""); floatsUnitTxt.setText(""); operationUnitTxt.setText(""); add(typeChoice, gbl, gbc, 2, 2, 1, 1); } public void sendInputToServer(DataOutputStream os) { try { os.writeBytes("dataset.ini"); os.writeByte('\n'); os.writeBytes(dataNameTxt.getText()+" "); os.writeBytes(typeChoice.getSelectedItem()+" "); os.writeBytes(totalSizeTxt.getText()+" "); os.writeBytes(bytesUnitTxt.getText()+" "); os.writeBytes(floatsUnitTxt.getText()+" "); os.writeBytes(operationUnitTxt.getText()); os.writeByte('\n'); os.writeBytes("end"); os.writeByte('\n'); } catch (IOException e) { System.err.println("I/O failed on the connection to: taranis"); } } };