2012-07-11 114 views
0

未来使用的输入.....我怎么能存储从GUI用户给一个字符串数组在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.. 

回答

0

好了,所以我会做的第一件事就是让信息一个ArrayList,而不是字符串数组。

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

所以你不必担心字符串的长度。然后你可以附加到列表使用

info.append(comboPanel.getSelectedItem()); 

而这里的代码将列表写入文件。

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

这是回答您的问题吗?

相关问题