WindowBuilderを使用していますが、ボタンJTextField
をクリックして入力した特定の単語をテキストファイルで検索する方法を尋ねたいのですが。Search私のプログラムは次のようになります。
画像http://img252.imageshack.us/img252/1410/39931036.png
これは私のJTextField
とJButton
:
private void initialize() {
frmInformacijaApieMuzikos = new JFrame();
frmInformacijaApieMuzikos.setResizable(false);
frmInformacijaApieMuzikos.setIconImage(Toolkit.getDefaultToolkit()
.getImage(KDVizualizuotas.class.getResource(
"/lt/kvk/i3_2/kalasnikovas_stanislovas/resources/Sidebar-Music-Blue-icon.png")));
frmInformacijaApieMuzikos.setTitle("Muzikos stiliai");
frmInformacijaApieMuzikos.setBounds(100, 100, 262, 368);
frmInformacijaApieMuzikos.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
txtStilius = new JTextField();
txtStilius.setBounds(10, 34, 128, 20);
txtStilius.setColumns(10);
JButton btnIekoti = new JButton("Ie\u0161koti");
btnIekoti.setBounds(146, 36, 89, 19);
btnIekoti.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
}
コンソールで機能する「テキストファイルで検索」というコードがありますが、「単語を入力してJTextField
(コンソールではなく)検索ボタン(Enterボタンではなく)をクリックして検索してください」と書き直す必要があります。作り方がわかりません。
私のコード(スキップできるこれらの最後の2つのコード):
package lt.kvk.i3_2.kalasnikovas_stanislovas;
import java.util.Scanner;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Stilius {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
try {
FileReader fr = new FileReader("src/lt/kvk/i3_2/kalasnikovas_stanislovas/Stiliai.txt");
BufferedReader br = new BufferedReader(fr);
String stiliuSarasas;
while((stiliuSarasas = br.readLine()) != null) {
System.out.println(stiliuSarasas);
}
fr.close();
/** String help = "";
System.out.println("Iveskite stiliaus pavadinima apie kuri ieskote informacijos (daugiau funkciju - Pagalba)");
if ("Pagalba".equalsIgnoreCase(help)) {
help = input.nextLine();
Pagalba pagalba = new Pagalba(help);
}**/
String kitasStilius = "Taip";
while (!"Ne".equalsIgnoreCase(kitasStilius)) {
if ("Taip".equalsIgnoreCase(kitasStilius)) {
System.out.println("Iveskite stiliaus pavadinima apie kuri ieskote informacijos");
String stilius = input.nextLine();
Veiksmai stiliausPaieska = new Veiksmai(stilius);
}
else if ("Ne".equalsIgnoreCase(kitasStilius)) {
}
else{
System.out.println("Neteisingai pasirinkta.");
}
System.out.println("Ar norite ieskoti kito stiliaus?");
System.out.println("Iveskite: Taip or Ne");
kitasStilius = input.nextLine();
}
}
catch (IOException e) {
System.out.println("Error:" + e.toString());
}
}
}
および他のクラス
package lt.kvk.i3_2.kalasnikovas_stanislovas;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
public class Veiksmai {
public Veiksmai(String stilius) throws IOException {
BufferedReader bf = new BufferedReader(new FileReader("src/lt/kvk/i3_2/kalasnikovas_stanislovas/Miestai.txt"));
int counter = 0;
String line;
System.out.println("Ieskoma informacija apie " + stilius);
ArrayList<String> miestuSarasas = new ArrayList<String>();
String miestas = null;
while (( line = bf.readLine()) != null){
if (line.trim().length() == 0) miestas = null;
else if (miestas == null) miestas = line;
int indexfound = line.indexOf(stilius);
if (indexfound > -1) {
counter++;
miestuSarasas.add(miestas);
}
}
if (counter > 0) {
System.out.println(stilius + " turi " + counter + " remejus: " + miestuSarasas);
try {
File file = new File("src/lt/kvk/i3_2/kalasnikovas_stanislovas/Atsakymas.txt");
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile(), true);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(stilius + " turi " + counter + " remejus: " + miestuSarasas+"\n");
bw.close();
}
catch (IOException e) {
e.printStackTrace();
}
} else {
System.out.println("Klaida, nerastas muzikos stilius");
}
bf.close();
}
public void stabdyti(){
}
public void sarasas() throws IOException{
FileReader fr = new FileReader("src/lt/kvk/i3_2/kalasnikovas_stanislovas/Stiliai.txt");
BufferedReader br = new BufferedReader(fr);
String stiliuSarasas;
while((stiliuSarasas = br.readLine()) != null) {
System.out.println(stiliuSarasas);
}
fr.close();
}
}
私を手伝ってくれますか?私はまだJavaの初心者です。たくさん試しましたが、すべてうまくいきません。