tamascsaba
New Member
Ok, Sorry the question is crap. It's hard to put into a question If you put a word like Thought into dictionary.com or any irregular verb the pronunciation [thawt] loads after the rest of the html.If you check my code you'll see what i mean. Instead of [thawt] it loads [thingk]..\[code\]package OEpr;import java.awt.EventQueue;import java.awt.GridLayout;import java.awt.Toolkit;import javax.swing.JFrame;import javax.swing.JButton;import java.awt.GridBagLayout;import java.awt.GridBagConstraints;import java.awt.datatransfer.Clipboard;import java.awt.datatransfer.ClipboardOwner;import java.awt.datatransfer.StringSelection;import java.awt.datatransfer.Transferable;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.URL;import java.net.URLConnection;import java.util.regex.Matcher;import java.util.regex.Pattern;import javax.swing.GroupLayout;import javax.swing.GroupLayout.Alignment;import javax.swing.LayoutStyle.ComponentPlacement;import javax.swing.JTextField;public class OEpr { private JFrame frame; private JTextField txtWord; private JTextField textpron; /** * Launch the application. */ private static String wordurl; private static String line; private int linenum; private static int findingfirst = 0; private static String pron; StringSelection testcopy; public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { OEpr window = new OEpr(); window.frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the application. */ public OEpr() { initialize(); setvars(); } public void setvars() { OEpr.wordurl = "http://dictionary.reference.com/browse/" + txtWord.getText(); } public void geturl(String[] args) throws Exception { // Set URL URL url = new URL(wordurl); URLConnection spoof = url.openConnection(); // Spoof the connection so we look like a web browser spoof.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; H010818)"); BufferedReader in = new BufferedReader(new InputStreamReader( spoof.getInputStream())); String uline = ""; // Loop through every line in the source while ((uline = in.readLine()) != null) { // System.out.println(strLine); line = uline; linecheck(); } // System.out.println(OEpr.line); } private void linecheck() { Pattern pattern = Pattern.compile("<!-- google_ad_section_start -->"); Pattern pattern2 = Pattern.compile("\\[.*?]"); Matcher matcher = pattern.matcher(OEpr.line); if (matcher.find()) { findingfirst++; // if(findingfirst==2){ String noHTML = line.replaceAll("\\<.*?>", ""); Matcher matcher2 = pattern2.matcher(noHTML); if (matcher2.find()) { pron = noHTML.replaceAll("(^.*(?=\\[))|((?<=\\]).*$)", ""); // System.out.println(pron); textpron.setText(pron); } // } // System.out.println(matcher.group(0)); //prints /{item}/ } else { // System.out.println("Match not found"); } } public void setClipboardContents(String aString) { testcopy = new StringSelection(pron); Toolkit.getDefaultToolkit().getSystemClipboard() .setContents(testcopy, null); } /** * Initialize the contents of the frame. */ private void initialize() { frame = new JFrame(); frame.setAlwaysOnTop(true); frame.setResizable(false); frame.setSize(210, 100); JButton btnGo = new JButton("Go!"); btnGo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // Execute when button is pressed try { setvars(); OEpr.findingfirst = 0; geturl(null); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }); JButton btnCopy = new JButton("Copy!"); btnCopy.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // Execute when button is pressed try { setClipboardContents(null); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }); txtWord = new JTextField(); txtWord.setText("thought"); txtWord.setColumns(10); textpron = new JTextField(); textpron.setColumns(10); GroupLayout groupLayout = new GroupLayout(frame.getContentPane()); groupLayout .setHorizontalGroup(groupLayout .createParallelGroup(Alignment.LEADING) .addGroup( Alignment.TRAILING, groupLayout .createSequentialGroup() .addGroup( groupLayout .createParallelGroup( Alignment.LEADING) .addGroup( groupLayout .createSequentialGroup() .addContainerGap( GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent( txtWord, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addPreferredGap( ComponentPlacement.RELATED)) .addGroup( groupLayout .createSequentialGroup() .addContainerGap() .addComponent( textpron, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addPreferredGap( ComponentPlacement.RELATED))) .addGroup( groupLayout .createParallelGroup( Alignment.LEADING) .addComponent(btnGo) .addComponent(btnCopy)) .addContainerGap())); groupLayout .setVerticalGroup(groupLayout .createParallelGroup(Alignment.LEADING) .addGroup( groupLayout .createSequentialGroup() .addContainerGap() .addGroup( groupLayout .createParallelGroup( Alignment.BASELINE) .addComponent(btnGo) .addComponent( txtWord, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) .addPreferredGap( ComponentPlacement.RELATED) .addGroup( groupLayout .createParallelGroup( Alignment.BASELINE) .addComponent(btnCopy) .addComponent( textpron, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) .addContainerGap( GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); frame.getContentPane().setLayout(groupLayout); }}\[/code\]