JBenchFrame.java Source code

Java tutorial

Introduction

Here is the source code for JBenchFrame.java

Source

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];
    }
}