-1

率直に言うと、実際にどのように使用するかについて助けを求めています。コースでこれを使用するように設定されたばかりですが、新しい先生は教えていません。私はこれに本当に苦労しています. したがって、Windowsビルダーを使用して基本的なJFrameをセットアップしました。オブジェクトは、テキストファイルを文字列として開いてテキストスペースに配置し、テキスト内の文字列を見つけて変更できるようにすることです。私が持っているコードを以下に貼り付けます。誰かがこれを行う方法を説明するのを手伝ってくれるなら、本当に感謝します。:)

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.TextArea;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import java.io.File;
import javax.swing.filechooser.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;


public class task1 extends JFrame {

    private JPanel contentPane;
    private JTextField findTxtBox;
    private JButton findBtn;
    private JTextField replaceTxtBox;
    private JTextField fileTxtBox;
    private JButton openBtn;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    task1 frame = new task1();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public task1() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 312);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);

        TextArea textArea = new TextArea();
        textArea.setBounds(10, 45, 380, 160);
        contentPane.add(textArea);

        findTxtBox = new JTextField();
        findTxtBox.setBounds(80, 211, 236, 20);
        contentPane.add(findTxtBox);
        findTxtBox.setColumns(10);

        findBtn = new JButton("Find");
        findBtn.setBounds(326, 210, 89, 23);
        contentPane.add(findBtn);

        JButton btnReplace = new JButton(" Replace");
        btnReplace.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
            }
        });
        btnReplace.setBounds(326, 240, 89, 23);
        contentPane.add(btnReplace);

        replaceTxtBox = new JTextField();
        replaceTxtBox.setColumns(10);
        replaceTxtBox.setBounds(80, 242, 236, 20);
        contentPane.add(replaceTxtBox);

        fileTxtBox = new JTextField();
        fileTxtBox.setColumns(10);
        fileTxtBox.setBounds(80, 11, 236, 20);
        contentPane.add(fileTxtBox);

        final JFileChooser fc = new JFileChooser();
        fc.setFileFilter(new FileNameExtensionFilter("Text Files", "txt"));
        fc.removeChoosableFileFilter(fc.getAcceptAllFileFilter());

        openBtn = new JButton("Open File");
        openBtn.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent arg0) {
                fc.showOpenDialog(null);
            }
        });
        openBtn.setBounds(326, 10, 89, 23);
        contentPane.add(openBtn);
    }
}
4

1 に答える 1

3

オブジェクトは、テキスト ファイルを文字列として開いてテキスト スペースに配置し、テキスト内の文字列を見つけて変更できるようにすることです。

これには、ファイル チューザーを使用するだけではありません。実際の例については、Swing チュートリアルのファイル チューザーの使用方法に関するセクションを読むことから始めることをお勧めします。

ファイルチューザーは、ファイルを読み取るのではなく、ファイル名を取得するためにのみ使用されます。次に、JTextArea(TextArea ではなく) を使用して、読み取ったファイルのテキストを表示することをお勧めします。read(...)これを行うには、JTextAreaのメソッドを使用できます。

すべてのテキスト コンポーネントには、テキストを取得するために使用できる getText() メソッドがあります。replace()次に、JTextAreaのメソッドを使用して、必要な文字列を検索し、テキストを置き換えることができます。

最後に、コンポーネントのサイズ/位置を設定するために setBounds() メソッドを使用しないでください。あなたは使用Layout Managersし、彼らに彼らの仕事をさせるべきです。Swing チュートリアルには、レイアウト マネージャーの使用に関するセクションもあります。

于 2013-10-22T20:17:10.737 に答える