用户界面-在一次迭代中显示带有Jtextarea的arraylist



我无法按照我想要的方式显示和数组列表。每个对话框一次显示一个字符串,而不是显示完整的字符串列表。一旦我在对话框上确定了,数组中的下一个项目就会弹出一个新的项目,直到它遍历所有项目。我希望所有这些都能在一个对话框中弹出。感谢您的帮助。

b3.addActionListener(new ActionListener() {
        /**
         * Displays the arraylist.
         */
        public void actionPerformed(ActionEvent e) {
            ImageIcon icon = new ImageIcon(Window.class.getResource("/car.png"));
            for(int i=0; i < cars.size(); i++) {
                JTextArea textArea = new JTextArea(cars.get(i) + 'n');
                JScrollPane scrollPane = new JScrollPane(textArea);  
                textArea.setLineWrap(true);  
                textArea.setWrapStyleWord(true); 
                scrollPane.setPreferredSize(new Dimension( 150, 200 ));
                JOptionPane.showMessageDialog(null, scrollPane);

您可以在for循环中创建文本区域和其他小部件。您希望在循环之外创建这些,然后将文本区域的内容设置为ArrayList的字符串表示。

试试这个:

ImageIcon icon = new ImageIcon(Window.class.getResource("/car.png"));
StringBuilder sb = new StringBuilder(); // this will be the contents of your list
for(int i=0; i < cars.size(); i++) {
    sb.append(cars.get(i) + "n"); // add each element to the string   
}
// create the text area widgets
JTextArea textArea = new JTextArea(sb.toString());  // add the string you built
JScrollPane scrollPane = new JScrollPane(textArea);  
textArea.setLineWrap(true);  
textArea.setWrapStyleWord(true); 
scrollPane.setPreferredSize(new Dimension( 150, 200 ));
JOptionPane.showMessageDialog(null, scrollPane);

相关内容

  • 没有找到相关文章

最新更新