package com.dasatti.uhtml; import java.io.*; 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.*; import java.util.*; public class ImageDialog extends JDialog { JTextField tfImageURL,tfAltText; JButton btnBrowse,btnInsert,btnCancel; JCheckBox chkSpecifySize; JSpinner spnWidth,spnHeight; JRadioButton rbtnPixcels,rbtnPercent; JFrame parent=null; String imgHTML=""; String imgUrl = ""; String imgPath = ""; Boolean success=false; public ImageDialog(JFrame _parent) { super(_parent,"Insert Image",true); //super(); parent=_parent; JPanel pnlParent=new JPanel(); pnlParent.setLayout(null); JLabel lblImageURL=new JLabel("Location:"); tfImageURL=new JTextField(20); btnBrowse=new JButton("Browse"); btnBrowse.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { JFileChooser jfc=new JFileChooser(); if(jfc.showOpenDialog(parent)==JFileChooser.APPROVE_OPTION) { File f=jfc.getSelectedFile(); try { imgUrl=f.toURI().toString(); imgPath = f.getAbsolutePath(); if(imgUrl!=null) { tfImageURL.setText(imgUrl); } } catch(Exception ex) { } } } } ); btnInsert=new JButton("Insert"); btnInsert.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { String s=generateHTML(); dispose(); } } ); btnCancel=new JButton("Cancel"); btnCancel.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { dispose(); } } ); JLabel lblAltText=new JLabel("Alt Text:"); tfAltText=new JTextField(20); JPanel pnlLName=new JPanel(); //pnlLName.setLayout(null); add(lblImageURL); lblImageURL.setBounds(20,20,100,25); add(tfImageURL); tfImageURL.setBounds(100,20,170,25); add(btnBrowse); btnBrowse.setBounds(280,20,100,25); add(lblAltText); lblAltText.setBounds(20,50,100,25); add(tfAltText); tfAltText.setBounds(100,50,280,25); add(btnInsert); btnInsert.setBounds(20,200,150,25); add(btnCancel); btnCancel.setBounds(230,200,150,25); //pnlParent.add(pnlLName); chkSpecifySize=new JCheckBox("Specify Size"); chkSpecifySize.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { if(chkSpecifySize.isSelected()) { spnWidth.setEnabled(true); spnHeight.setEnabled(true); rbtnPixcels.setEnabled(true); rbtnPercent.setEnabled(true); } else { spnWidth.setEnabled(false); spnHeight.setEnabled(false); rbtnPixcels.setEnabled(false); rbtnPercent.setEnabled(false); } } } ); JPanel pnlSize=new JPanel(); pnlSize.setLayout(new GridLayout(3,1)); JPanel pnlChkBox=new JPanel(new GridLayout(2,2)); JPanel pnlSize2=new JPanel(new GridLayout(1,6)); JPanel pnlSize3=new JPanel(new GridLayout(1,2)); pnlChkBox.add(chkSpecifySize); spnWidth=new JSpinner(new SpinnerNumberModel(new Integer(20), new Integer(0), null, new Integer(1))); spnHeight=new JSpinner(new SpinnerNumberModel(new Integer(20), new Integer(0), null, new Integer(1))); rbtnPixcels=new JRadioButton("In Pixels",true); rbtnPercent=new JRadioButton("In Percentage"); spnWidth.setEnabled(false); spnHeight.setEnabled(false); rbtnPixcels.setEnabled(false); rbtnPercent.setEnabled(false); pnlChkBox.add(new JLabel("")); pnlChkBox.add(new JLabel("")); pnlSize2.add(new JLabel("Width:")); pnlSize2.add(spnWidth); pnlSize2.add(new JLabel(" ")); pnlSize2.add(new JLabel("Height:")); pnlSize2.add(new JLabel(" ")); pnlSize2.add(spnHeight); pnlSize3.add(rbtnPixcels); pnlSize3.add(rbtnPercent); pnlSize.add(pnlChkBox); pnlSize.add(pnlSize2); pnlSize.add(pnlSize3); pnlSize.setBorder(new TitledBorder(new EtchedBorder(), "Size")); pnlSize.setBounds(20,80,370,110); pnlParent.add(pnlSize); add(pnlParent); pack(); setBounds(400,200,415,275); setResizable(false); //setVisible(true); } public String generateHTML() { String _html="<IMG SRC=\""+tfImageURL.getText().toString()+"\" ALT=\""+tfAltText.getText().toString()+"\""; if(chkSpecifySize.isSelected()) { String unit=""; if(rbtnPercent.isSelected()) unit="%"; int Width =((Integer) spnWidth.getValue()).intValue(); int Height =((Integer) spnHeight.getValue()).intValue(); _html+=" WIDTH=\""+Width+unit+"\" HEIGHT=\""+Height+unit+"\""; } _html+=">"; success=true; imgHTML=_html; return _html; } public Boolean succeeded() { return success; } public String getHTML() { return imgHTML; } public String getImageURL() { return imgUrl; } public String getImagePath() { return imgPath; } ///* public static void main(String a[]) { ImageDialog app=new ImageDialog(null); app.show(); if(app.succeeded()) { System.out.println(app.getHTML()); //System.out.println(app.getHTML()); //app.dispose(); } } //*/ }