Mega Code Archive

 
Categories / Java Tutorial / Swing
 

Bench mark for JList

import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.AbstractListModel; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JScrollPane; public class JBenchFrame extends JFrame {   BorderLayout borderLayout1 = new BorderLayout();   JList list1 = new JList();   JButton fillButton = new JButton();   public static void main(String[] args) {     JBenchFrame bm = new JBenchFrame();   }   public JBenchFrame() {     this.getContentPane().setLayout(borderLayout1);     this.setSize(new Dimension(400, 300));     fillButton.addActionListener(new ActionListener() {       public void actionPerformed(ActionEvent e) {         ListData ld = new ListData();         long tmStart = System.currentTimeMillis();         list1.setModel(ld);         list1.repaint();         long tmEnd = System.currentTimeMillis();         System.out.println(tmEnd - tmStart);       }     });     fillButton.setText("Fill");     this.getContentPane().add(new JScrollPane(list1), BorderLayout.CENTER);     this.getContentPane().add(fillButton, BorderLayout.SOUTH);     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     setVisible(true);   } } class ListData extends AbstractListModel {   String[] strings = new String[10000];   public ListData() {     for (int i = 0; i < 10000; i++) {       strings[i] = "bob" + i;     }   }   public int getSize() {     return strings.length;   }   public Object getElementAt(int index) {     return strings[index];   } }