我正在寫一個非常小的SQL編輯器,主要是爲了獲得新穎性。 我現在可以執行所有的語句,只需要用分號分割整個文本,然後再運行一個語句。從字符串中提取最接近的句子
但是,我希望實現一個功能,我只運行最接近光標的語句,但我很難做到這一點。 我一直在尋找BreakIterator
這似乎很有用,但它並沒有真正幫助我得到我需要的聲明。
這些是我需要支持的情況: 遊標位於|
SELECT * FROM something;|
光標放置分號SELECT * FROM so|mething;
光標置於聲明SELECT * FROM something\nLEFT |JOIN foo USING (bar);
聲明跨越幾個行內後,再次用光標放置在兩個分號之後,或者在語句中。
任何想法爲此簡單的解決方案?
您使用的小程序或一些文本編輯爲接受用戶輸入 http://stackoverflow.com/questions/4565836/how-to-find-cursor-position-in-a-jtextarea 這個鏈接可以讓你知道光標的位置,你可以從這一點獲得下一個查詢片段, –
不,我正在寫入一個修改後的JTextArea。我可以使用getCaretPosition()獲取光標位置,但我不確定如何覆蓋所有我以乾淨的方式提到的情況。 – Istarnion