Java 链接输入的文本信息

Java 链接输入的文本信息,java,eclipse,Java,Eclipse,现在我有一个GUI,当我点击添加客户时,会弹出一个框,我可以输入诸如姓名、地址等信息。完成后,我单击AddCustomer,它会将信息添加到一个.txt文件中。现在,在原始GUI上有一个“刷新”按钮,当按下该按钮时,它会将信息输入一个名为“NameTextCustomers”的文本框中。它不能这样做。我已经研究了好几个小时试图弄明白。我在代码中有一行写着“NameTextCustomers.setText(“这里的文件信息”);”在我点击刷新按钮之后,“这里的文件信息”这个词就会出现,这样这个部

现在我有一个GUI,当我点击添加客户时,会弹出一个框,我可以输入诸如姓名、地址等信息。完成后,我单击AddCustomer,它会将信息添加到一个.txt文件中。现在,在原始GUI上有一个“刷新”按钮,当按下该按钮时,它会将信息输入一个名为“NameTextCustomers”的文本框中。它不能这样做。我已经研究了好几个小时试图弄明白。我在代码中有一行写着“NameTextCustomers.setText(“这里的文件信息”);”在我点击刷新按钮之后,“这里的文件信息”这个词就会出现,这样这个部分就可以工作了。我假设代码会插入到那里。我认为这是我必须做的最后一部分,我的代码才能按我希望的方式工作

import java.awt.*;
import javax.swing.*;

import java.awt.event.*;
import java.util.*;
import java.io.*;
import java.util.List;

public class FVolume extends JFrame implements ActionListener{
    private JTabbedPane jtabbedPane;

    private JPanel Customers;

    private List<Customer> customers = new ArrayList<Customer>();
    JTextArea NameTextCustomers, ExistTextCustomers, NameTextContractors, ExistTextContractors;
    JTextField lengthTextPool, widthTextPool, depthTextPool, volumeTextPool;

    public FVolume(){
        setTitle("Volume Calculator");
        setSize (300, 200);

        JPanel topPanel = new JPanel();
        topPanel.setLayout( new BorderLayout() );
        getContentPane().add( topPanel );

        createCustomers();

        jtabbedPane = new JTabbedPane();

        jtabbedPane.addTab("Customer", Customers);

        topPanel.add(jtabbedPane, BorderLayout.CENTER);
    }

        /*      CREATE CUSTOMERS    */

    public JPanel createCustomers(){
        Customers = new JPanel();
        Customers.setLayout(null);

        NameTextCustomers = new JTextArea("Select Add Customer to Add Customer.       Select Refresh to Refresh This Pane.");
        NameTextCustomers.setLineWrap(true);
        NameTextCustomers.setBounds(10, 10, 390, 150);
        Customers.add(NameTextCustomers);

        JButton Exit = new JButton("Exit");
        Exit.setBounds(30,170,80,20);
        Exit.addActionListener(this);
        Exit.setBackground(Color.white);
        Customers.add(Exit);

        JButton AddCustomers = new JButton("Add Customer");
        AddCustomers.setBounds(130,170,120,20);
        AddCustomers.setBackground(Color.white);
        Customers.add(AddCustomers);

        JButton Refresh = new JButton("Refresh");
        Refresh.setBounds(260,170,80,20);
        Refresh.setBackground(Color.white);
        Customers.add(Refresh);

        ExistTextCustomers = new JTextArea();
        ExistTextCustomers.setBounds(10, 200, 390, 60);
        ExistTextCustomers.setLineWrap(true);
        Customers.add(ExistTextCustomers);

        final JTextArea custArea = new JTextArea(6, 30); 
        final JTextArea ExistTextCustomers; 

        ExistTextCustomers = new JTextArea(2, 30); 
        ExistTextCustomers.setLineWrap(true); 
        ExistTextCustomers.setWrapStyleWord(true); 

        AddCustomers.addActionListener(new ActionListener() 
        {   
            public void actionPerformed(ActionEvent e) 
            { 
            Customers.add(new Customer("Customer")); 
        } 
            }); 

        Customers.add(custArea);
        Customers.add(AddCustomers);

        Customers.add(Refresh);
        Refresh.setMnemonic('R');

        Refresh.addActionListener(new ActionListener() 
        {
            public void actionPerformed(ActionEvent e)
            {
                NameTextCustomers.setText ("File Info Here");
        try
        {
            File custOpen = new File("customer.txt"); 
            FileReader custAreaIn = new FileReader(custOpen); 
            custArea.read(custAreaIn, custOpen.getAbsolutePath()); 
            ExistTextCustomers.setText("File exists and can be read.");
        }
        catch (IOException e3){
            ExistTextCustomers.setText("The file could not be read." + e3.getMessage());
            }
        }
    }
    );
        return Customers;
}
class Customer extends JFrame
{
    private String[] states = {"AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", 
            "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", 
            "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", 
            "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", 
            "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY"}; 
            private JComboBox StateList = new JComboBox(states); 
            private JTextField NameText = new JTextField(25); 
            private JTextField AddressText = new JTextField(25); 
            private JTextField CityText = new JTextField(25); 
            private JTextField ZipText = new JTextField(9); 
            private JTextField PhoneText = new JTextField(10); 
            private JTextField ExistTextCustomers = new JTextField(30); 
            private static final long serialVersionUID = 1L; 

            private AddCustButtonHandler addCusHandler = new AddCustButtonHandler(); 

            public Customer(String who) 
            {
                popUpWindow (who);
            }
            public void popUpWindow(final String who) {
                final JFrame popWindow; 
                popWindow = new JFrame(who); 
                popWindow.setSize(425, 350); 
                popWindow.setLocation(100, 100); 
                popWindow.setVisible(true); 
                setDefaultCloseOperation(EXIT_ON_CLOSE); 

                Container c = new Container(); 

                popWindow.add(c); 

                c.setLayout(new FlowLayout()); 

                JPanel one = new JPanel(); 
                JPanel two = new JPanel(); 
                JPanel three = new JPanel(); 
                JPanel four = new JPanel(); 
                JPanel five = new JPanel(); 
                JPanel six = new JPanel(); 

                one.add(new JLabel(who + " Name ")); 
                one.add(NameText); 
                two.add(new JLabel("Address ")); 
                two.add(AddressText); 
                three.add(new JLabel("City ")); 
                three.add(CityText); 
                four.add(new JLabel("State ")); 
                StateList.setSelectedIndex(0); 
                four.add(StateList); 
                four.add(new JLabel("ZIP")); 
                four.add(ZipText); 
                four.add(new JLabel("Phone")); 
                four.add(PhoneText); 
                JButton addwho = new JButton("Add " + who); 
                addwho.setMnemonic('A'); 
                JButton close = new JButton("Exit"); 
                close.setMnemonic('C'); 
                JButton deleteFile = new JButton("Delete File"); 
                deleteFile.setMnemonic('D'); 
                five.add(addwho); 
                five.add(close); 
                five.add(deleteFile); 
                ExistTextCustomers.setEditable(false); 
                ExistTextCustomers.setHorizontalAlignment(JTextField.CENTER); 

                six.add(ExistTextCustomers); 
                c.add(one); 
                c.add(two); 
                c.add(three); 
                c.add(four); 
                c.add(five); 
                c.add(six); 

                deleteFile.setToolTipText("Delete File"); 
                addwho.setToolTipText("Add "+ who); 
                close.setToolTipText("Exit");

                if (who == "Customer")
                    addwho.addActionListener(addCusHandler);
                close.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        NameText.setText(""); 
                        AddressText.setText(""); 
                        CityText.setText(""); 
                        ZipText.setText(""); 
                        PhoneText.setText(""); 
                        ExistTextCustomers.setText(""); 
                        popWindow.dispose();
                    }
                }
                );
                deleteFile.addActionListener(new ActionListener() { 
                    public void actionPerformed(ActionEvent e) {
                        ExistTextCustomers.setText("");
                        if (who.equals("Customer")) {
                            File file = new File("Customer.txt"); 
                            boolean cusFileDeleted = file.delete(); 
                            if (cusFileDeleted) {
                                ExistTextCustomers 
                                .setText("Customer file has been deleted"); 
                            } else {
                                ExistTextCustomers 
                                .setText("There was an error in deleting file"); 
                            }
                            }
                        }
                    }
                );
            }
            class AddCustButtonHandler implements ActionListener { 
                public void actionPerformed(ActionEvent addCusHandler) { 
                    int StateIndex; 
                    try { 
                        File file = new File("Customer.txt");
                        boolean success = file.createNewFile();
                        if (success) {
                            ExistTextCustomers
                            .setText("Customer.txt file created file added");
                        } else if (file.canWrite()) {
                            ExistTextCustomers
                            .setText("Writing data to Customer.txt, file added");
                        } else {
                            ExistTextCustomers.setText("Cannot create file: Customer.txt");
                        }
                        try {
                            FileWriter fileW = new FileWriter("Customer.txt", true);
                            fileW.write(NameText.getText());
                            fileW.write(",");
                            fileW.write(AddressText.getText());
                            fileW.write(",");
                            fileW.write(CityText.getText());
                            fileW.write(",");
                            StateIndex = StateList.getSelectedIndex();
                            fileW.write(states[StateIndex]);
                            fileW.write(",");
                            fileW.write(ZipText.getText());
                            fileW.write(",");
                            fileW.write(PhoneText.getText());
                            fileW.write("\r\n");
                            fileW.close();
                            ExistTextCustomers.setText("A new Customer has been added!");
                            FileReader fileR = new FileReader("Customer.txt");
                            BufferedReader buffIn = new BufferedReader(fileR);
                            String textData = buffIn.readLine();
                            buffIn.close(); 

                        }
                        catch (IOException e1) { 
                            JOptionPane.showMessageDialog(null, e1.getMessage(), "ERROR", 2);
                        }
                        NameText.setText(""); 
                        AddressText.setText(""); 
                        CityText.setText(""); 
                        ZipText.setText(""); 
                        PhoneText.setText(""); 
                        }
                    catch (IOException e1) { 
                    }

                }
            }
            public void actionPerformed(ActionEvent event){
            }
                private void Exit_pressed(){
                    System.exit(0);
                }
            }


                public static void main(String[] args){
                    JFrame frame = new FVolume();
                    frame.setSize(420, 350);
                    frame.setVisible(true);
    }

                public void actionPerformed(ActionEvent e) {


                }

}
import java.awt.*;
导入javax.swing.*;
导入java.awt.event.*;
导入java.util.*;
导入java.io.*;
导入java.util.List;
公共类FVolume扩展JFrame实现ActionListener{
私人JTabbedPane JTabbedPane;
私人JPanel客户;
private List customers=new ArrayList();
JTextArea NameTextCustomers、ExistTextCustomers、NameTextContractors、ExistTextContractors;
JTextField lengthTextPool、widthTextPool、depthTextPool、volumeTextPool;
公共体积(){
setTitle(“体积计算器”);
设置大小(300200);
JPanel-topPanel=新的JPanel();
setLayout(新的BorderLayout());
getContentPane().add(topPanel);
createCustomers();
jtabbedPane=新的jtabbedPane();
jtabbedPane.addTab(“客户”,客户);
添加(jtabbedPane,BorderLayout.CENTER);
}
/*创造客户*/
公共JPanel createCustomers(){
客户=新JPanel();
Customers.setLayout(空);
NameTextCustomers=new JTextArea(“选择添加客户以添加客户。选择刷新以刷新此窗格”);
NameTextCustomers.setLineWrap(true);
NameTextCustomers.setBounds(10,10390150);
Customers.add(NameTextCustomers);
JButton Exit=新JButton(“Exit”);
出口.立根(30170,80,20);
Exit.addActionListener(this);
出口。后退地面(颜色。白色);
客户。添加(退出);
JButton AddCustomers=新JButton(“添加客户”);
AddCustomers.setBounds(130170120,20);
AddCustomers.setBackground(颜色:白色);
Customers.add(AddCustomers);
JButton刷新=新JButton(“刷新”);
刷新.挫折(260170,80,20);
刷新.背景(颜色.白色);
添加(刷新);
ExistTextCustomers=new JTextArea();
ExistTextCustomers.setBounds(1020039060);
ExistTextCustomers.setLineWrap(true);
Customers.add(ExistTextCustomers);
最终JTextArea custArea=新JTextArea(6,30);
最终JTextArea ExistTextCustomers;
ExistTextCustomers=新的JTextArea(2,30);
ExistTextCustomers.setLineWrap(true);
ExistTextCustomers.setWrapStyleWord(true);
AddCustomers.addActionListener(新的ActionListener()
{   
已执行的公共无效操作(操作事件e)
{ 
客户。添加(新客户(“客户”));
} 
}); 
添加(客户区);
Customers.add(AddCustomers);
添加(刷新);
Refresh.set助记符('R');
Refresh.addActionListener(新建ActionListener())
{
已执行的公共无效操作(操作事件e)
{
NameTextCustomers.setText(“此处的文件信息”);
尝试
{
文件custOpen=新文件(“customer.txt”);
FileReader custAreaIn=新的FileReader(custOpen);
读取(custAreaIn,custOpen.getAbsolutePath());
ExistTextCustomers.setText(“文件存在并且可以读取”);
}
捕获(IOE3异常){
ExistTextCustomers.setText(“无法读取文件。”+e3.getMessage());
}
}
}
);
返回客户;
}
类客户扩展JFrame
{
私有字符串[]状态={“AL”、“AK”、“AZ”、“AR”、“CA”、“CO”、“CT”、“DE”,
“FL”、“GA”、“HI”、“ID”、“IL”、“IN”、“IA”、“KS”、“KY”、“LA”、“ME”,
“MD”、“MA”、“MI”、“MN”、“MS”、“MO”、“MT”、“NE”、“NV”、“NH”、“NJ”,
“NM”、“NY”、“NC”、“ND”、“OH”、“OK”、“OR”、“PA”、“RI”、“SC”、“SD”,
“TN”、“TX”、“UT”、“VT”、“VA”、“WA”、“WV”、“WI”、“WY”};
私有JComboBox状态列表=新的JComboBox(状态);
私有JTextField NameText=新JTextField(25);
私有JTextField AddressText=新JTextField(25);
私有JTextField CityText=新JTextField(25);
私有JTextField ZipText=新JTextField(9);
私有JTextField PhoneText=新JTextField(10);
私有JTextField existtextcustors=新JTextField(30);
私有静态最终长serialVersionUID=1L;
私有AddCustButtonHandler addCusHandler=新的AddCustButtonHandler();
公共客户(字符串谁)
{
波普芬多(世卫组织);
}
public void popUpWindow(最后一个字符串who){
最终JFrame窗口;
popWindow=新JFrame(who);
popWindow.setSize(425350);
popWindow.setLocation(100100);
popWindow.setVisible(true);
setDefaultCloseOperation(关闭时退出);
容器c=新容器();
添加(c);
c、 setLayout(新的FlowLayout());
JPanel one=新的JPanel();
JPanel two=新的JPanel();
JPanel三=新的JPanel();
JPanel four=新的JPanel();
JPanel五=新的JPanel();
JPanel六=新的JPanel();
在…上
public Customer(String who, FVolume _parent) 
    {
        popUpWindow (who);
        parent = _parent;
    }
public void setField(String str)
    {
        NameTextCustomers.setText(str);
        NameTextCustomers.validate();
    }
public void actionPerformed(ActionEvent addCusHandler) { 
    int StateIndex; 
    try { 
        File file = new File("Customer.txt");
        StringBuilder sb = new StringBuilder();
        boolean success = file.createNewFile();
        if (success) {
            ExistTextCustomers
            .setText("Customer.txt file created file added");
        } else if (file.canWrite()) {
            ExistTextCustomers
            .setText("Writing data to Customer.txt, file added");
        } else {
            ExistTextCustomers.setText("Cannot create file: Customer.txt");
        }
        try {
            FileWriter fileW = new FileWriter("Customer.txt", true);
            sb.append(NameText.getText());
            sb.append(",");
            sb.append(AddressText.getText());
            sb.append(",");
            sb.append(CityText.getText());
            sb.append(",");
            StateIndex = StateList.getSelectedIndex();
            sb.append(states[StateIndex]);
            sb.append(",");
            sb.append(ZipText.getText());
            sb.append(",");
            sb.append(PhoneText.getText());
            sb.append("\r\n");
            fileW.write(sb.toString());
            parent.setField(sb.toString());
            fileW.close();
            ExistTextCustomers.setText("A new Customer has been added!");
            FileReader fileR = new FileReader("Customer.txt");
            BufferedReader buffIn = new BufferedReader(fileR);
            String textData = buffIn.readLine();
            buffIn.close(); 
AddCustomers.addActionListener(new ActionListener() 
        {   
            public void actionPerformed(ActionEvent e) 
            { 
            new Customer("Customer", FVolume.this); 
        } 
     });