package com.dasatti.uhtml; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; import javax.swing.text.*; import javax.swing.text.rtf.*; import javax.swing.text.html.*; import javax.swing.event.*; public class OptionsDialog extends JDialog { JLabel lblFieldName,lblFieldSize,lblMaxSize,lblFieldValue; JLabel lblTAreaName,lblTAreaRows,lblTAreaCols,lblTAreaValue; JRadioButton rbText,rbPassword,rbHidden; JTextField tfFieldName,tfFieldValue,tfTAreaName; JTextArea tfTAreaValue; JButton btnInsert,btnClose,btnInsert2,btnClose2; JTabbedPane tabpane; JSpinner spnFieldSize,spnMaxSize,spnTAreaRows,spnTAreaCols; int searchIndex=0; String insertHTML=""; Boolean success=false; public static final int TF_TEXT=0; public static final int TF_PASS=1; public static final int TF_HIDDEN=2; private int tf_type=0; public OptionsDialog(JFrame parent,int selectedTab) //FindandReplace() { super(parent,"Insert Field",true); //super(); setTitle("Insert Field"); JPanel pnlField=new JPanel(); pnlField.setLayout(null); JPanel pnlTArea=new JPanel(); pnlTArea.setLayout(null); /* pnlField.setLayout(new BorderLayout()); Box boxFind=Box.createVerticalBox(); Box boxFindRow1=Box.createHorizontalBox(); Box boxFindRow2=Box.createHorizontalBox(); Box boxFindRow3=Box.createHorizontalBox(); */ /****************T FIELD****************/ lblFieldName=new JLabel("Field Name:"); tfFieldName=new JTextField(20); btnInsert=new JButton("Insert"); btnInsert.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { success=true; //System.out.println(generateHTML()); String s=generateHTML(); dispose(); } }); lblFieldSize=new JLabel("Field Size: "); spnFieldSize=new JSpinner(new SpinnerNumberModel(new Integer(15), new Integer(0), null, new Integer(1))); lblMaxSize=new JLabel("Maximum Size: "); spnMaxSize=new JSpinner(new SpinnerNumberModel(new Integer(50), new Integer(0), null, new Integer(1))); lblFieldValue=new JLabel("Field Value:"); tfFieldValue=new JTextField(20); btnClose=new JButton("Close"); btnClose.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { dispose(); } }); /****************T AREA****************/ lblTAreaName=new JLabel("Field Name:"); tfTAreaName=new JTextField(20); btnInsert2=new JButton("Insert"); btnInsert2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { success=true; String s=generateTAreaHTML(); dispose(); } }); lblTAreaRows=new JLabel("Rows: "); spnTAreaRows=new JSpinner(new SpinnerNumberModel(new Integer(5), new Integer(0), null, new Integer(1))); lblTAreaCols=new JLabel("Colums: "); spnTAreaCols=new JSpinner(new SpinnerNumberModel(new Integer(15), new Integer(0), null, new Integer(1))); lblTAreaValue=new JLabel("Field Value:"); tfTAreaValue=new JTextArea(20,3); btnClose2=new JButton("Close"); btnClose2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { dispose(); } }); /* boxFindRow1.add(lblFindWhat); boxFindRow1.add(tfFieldName); boxFindRow1.add(btnInsert); boxFindRow1.add(Box.createHorizontalStrut(90)); boxFindRow2.add(btnClose); boxFind.add(boxFindRow1); boxFind.add(boxFindRow2); pnlField.add(boxFind); */ /*****************Field Panel***************/ pnlField.add(lblFieldName); lblFieldName.setBounds(10,20,100,25); pnlField.add(tfFieldName); tfFieldName.setBounds(80,20,210,25); pnlField.add(lblFieldSize); lblFieldSize.setBounds(10,50,100,25); pnlField.add(spnFieldSize); spnFieldSize.setBounds(80,50,50,25); pnlField.add(lblMaxSize); lblMaxSize.setBounds(150,50,100,25); pnlField.add(spnMaxSize); spnMaxSize.setBounds(240,50,50,25); pnlField.add(lblFieldValue); lblFieldValue.setBounds(10,80,100,25); pnlField.add(tfFieldValue); tfFieldValue.setBounds(80,80,210,25); pnlField.add(btnInsert); btnInsert.setSize(10,5); btnInsert.setBounds(300,20,98,25); pnlField.add(btnClose); btnClose.setBounds(300,50,98,25); rbText=new JRadioButton("Text",true); rbPassword=new JRadioButton("Password"); rbHidden=new JRadioButton("Hidden"); //pnlField.add(cbWholeWords); //pnlField.add(cbMatchCase); //pnlField.add(rbText); //pnlField.add(rbPassword); //cbWholeWords.setBounds(10,120,150,25); //cbMatchCase.setBounds(10,150,150,25); //rbText.setBounds(160,120,150,25); //rbPassword.setBounds(160,150,150,25); ButtonGroup btnGrp=new ButtonGroup(); btnGrp.add(rbText); btnGrp.add(rbPassword); btnGrp.add(rbHidden); JPanel pnlFieldOptions=new JPanel(); pnlFieldOptions.add(rbText); pnlFieldOptions.add(rbPassword); pnlFieldOptions.add(rbHidden); pnlFieldOptions.setLayout(new GridLayout(1,3)); pnlFieldOptions.setBorder(new TitledBorder(new EtchedBorder(), "Field Type")); pnlFieldOptions.setBounds(10,120,280,50); pnlField.add(pnlFieldOptions); /*****************TArea Panel***************/ pnlTArea.add(lblTAreaName); lblTAreaName.setBounds(10,20,100,25); pnlTArea.add(tfTAreaName); tfTAreaName.setBounds(80,20,210,25); pnlTArea.add(lblTAreaCols); lblTAreaCols.setBounds(10,50,100,25); pnlTArea.add(spnTAreaCols); spnTAreaCols.setBounds(80,50,50,25); pnlTArea.add(lblTAreaRows); lblTAreaRows.setBounds(200,50,100,25); pnlTArea.add(spnTAreaRows); spnTAreaRows.setBounds(240,50,50,25); pnlTArea.add(lblTAreaValue); lblTAreaValue.setBounds(10,80,100,25); pnlTArea.add(tfTAreaValue); tfTAreaValue.setBounds(80,80,210,50); pnlTArea.add(btnInsert2); btnInsert2.setSize(10,5); btnInsert2.setBounds(300,20,98,25); pnlTArea.add(btnClose2); btnClose2.setBounds(300,50,98,25); tabpane=new JTabbedPane(); tabpane.addTab("Insert Field",pnlField); tabpane.addTab("Insert Text Area",pnlTArea); tabpane.setSelectedIndex(selectedTab); add(tabpane); WindowListener flst = new WindowAdapter() { public void windowActivated(WindowEvent e) { if (tabpane.getSelectedIndex()==0) tfFieldName.grabFocus(); if (tabpane.getSelectedIndex()==1) tfTAreaName.grabFocus(); } public void windowDeactivated(WindowEvent e) { } }; addWindowListener(flst); pack(); //setSize(405,275); setBounds(200,200,415,240); setResizable(false); //setVisible(true); } public String generateHTML() { StringBuffer _insertHTML=new StringBuffer(); _insertHTML.append("<INPUT "); if(rbText.isSelected()) _insertHTML.append("TYPE=\"TEXT\" "); if(rbPassword.isSelected()) _insertHTML.append("TYPE=\"PASSWORD\" "); if(rbHidden.isSelected()) _insertHTML.append("TYPE=\"HIDDEN\" "); String fName=tfFieldName.getText(); if(fName.length()!=0) { _insertHTML.append("NAME=\"").append(fName).append("\" "); } String fValue=tfFieldValue.getText(); if(fValue.length()!=0) { _insertHTML.append("VALUE=\"").append(fValue+"\" "); } _insertHTML.append("SIZE=\""+spnFieldSize.getValue()+"\" "); _insertHTML.append("MAXLENGTH=\""+spnMaxSize.getValue()+"\" "); _insertHTML.append(">"); //System.out.println(_insertHTML); insertHTML=_insertHTML.toString(); success=true; return _insertHTML.toString(); } public String generateTAreaHTML() { StringBuffer _insertHTML=new StringBuffer(); _insertHTML.append("<TEXTAREA "); String fName=tfTAreaName.getText(); if(fName.length()!=0) { _insertHTML.append("NAME=\"").append(fName).append("\" "); } _insertHTML.append("COLS=\""+spnTAreaCols.getValue()+"\" "); _insertHTML.append("ROWS=\""+spnTAreaRows.getValue()+"\" "); _insertHTML.append(">"); String fValue=tfTAreaValue.getText(); if(fValue.length()!=0) { _insertHTML.append(fValue); } _insertHTML.append("</TEXTAREA>"); //System.out.println(_insertHTML); insertHTML=_insertHTML.toString(); success=true; return _insertHTML.toString(); } public Boolean succeeded() { return success; } public String getHTML() { return insertHTML; } public void setTFType(int _tf_type) { if(_tf_type==TF_TEXT) rbText.setSelected(true); if(_tf_type==TF_PASS) rbPassword.setSelected(true); if(_tf_type==TF_HIDDEN) rbHidden.setSelected(true); } ///* public static void main(String a[]) { OptionsDialog app=new OptionsDialog(null,0); app.show(); if(app.succeeded()) { System.out.println(app.generateHTML()); //System.out.println(app.getHTML()); //app.dispose(); } } //*/ }