2012-07-11 46 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(); 

這是回答您的問題嗎?

相關問題