简体   繁体   中英

how can i store the inputs given by the user from GUI to a string array for future use in java

.....

public void launchFrame(){


      f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
  f.setSize(500,500);
      f.setVisible(true);
 f.setLocationRelativeTo(null);
JLabel nameL=new JLabel("Title", SwingConstants.LEFT);
String[] FormOptions = {"Choose","Text Field","Password Field","Button","Radio Button","Check Box","Drop Down Menu"};

    String[] NormalOptions = {"Choose","Write Text", "Upload Picture", "Frame", "I-Frame"};
    JTextField nameTF=new JTextField(10);

    final JPanel comboPanel = new JPanel();
    JLabel comboLbl = new JLabel("Form:");
JComboBox forms=new JComboBox(FormOptions);


comboPanel.add(comboLbl);
    comboPanel.add(forms);
comboPanel.add(nameL);
comboPanel.add(nameTF);

    final JPanel comboPanel1 = new JPanel();
    comboPanel1.setVisible(false);
    JLabel comboLbl1 = new JLabel("Normal HTML:");
    JComboBox Normals = new JComboBox(NormalOptions);

    comboPanel1.add(comboLbl1);
    comboPanel1.add(Normals);

    JButton HTML = new JButton( "Form or Normal");


HTML.addActionListener(new ActionListener()
    {
        @Override
        public void actionPerformed(ActionEvent event)
        {
           comboPanel1.setVisible(!comboPanel1.isVisible());
           comboPanel.setVisible(!comboPanel.isVisible());

        }
    });

    f.add(comboPanel, BorderLayout.NORTH);
    f.add(comboPanel1, BorderLayout.CENTER);
    f.add(HTML,BorderLayout.SOUTH);

    f.setVisible(true);


static String[] info = new String[500];//Here i need help               
}

public static void main(String args[]){
      BasicGuiTest gui = new BasicGuiTest();
      gui.launchFrame();
  }
//What Should i do here? I want to get whether the user is choosing form or Normal as 

//well as its options..

private class GetInfo implements ActionListener
{
    public void actionPerformed(ActionEvent ae)
    {

        info[i]=comboPanel.getSelectedItem
}
//Then i will output the string array to a text file..

or, you could avoid reinventing the wheel and use the built in java Preferences API?

http://docs.oracle.com/javase/1.4.2/docs/guide/lang/preferences.html

Okay, so first thing I would do is make info an ArrayList, instead of String Array.

public static List<String> info = new ArrayList<String>();

So you don't have to worry about the length of the string. Then you can append to the list using

info.append(comboPanel.getSelectedItem());

And here's code to write the list to a file.

FileWriter writer = new FileWriter(new File("C:/filename.txt"));
for(String line : info){
    writer.write(line + "\n");
}
writer.close();

Does this answer your question?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM