小编And*_* Sh的帖子

创建缩略图的正确方法是什么?

我正在尝试使用 using 创建一些数据的缩略图图表JScrollPane,但遇到性能困难。此示例有大约 100 个缩略图,每个缩略图有 5000 个样本。当我尝试向下滚动并返回向上多次时,滚动会出现延迟,CPU 负载增加,应用程序内存使用量达到超过 500 Mb。

有没有办法在不减少数据的情况下避免此性能问题?

在此输入图像描述

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.GridLayout;
import java.util.Random;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.ThermometerPlot;
import org.jfree.data.general.DefaultValueDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;

public class ThumbnailChartsTest extends JPanel {
private static final int W = 200;
private static final int H = W;
private static final int N = 5000;
private static final Random random = new Random();

private static …
Run Code Online (Sandbox Code Playgroud)

java swing thumbnails jfreechart jscrollpane

2
推荐指数
1
解决办法
998
查看次数

Hashmap:只能得到最后一个值

我将一些数组放入带有2个键的hashmap中.然后我试图提取这些值,但只能获取最后一个键的值.对于任何其他键我得到空指针异常:

"线程中的异常"主"java.lang.RuntimeException:键没有xyValues:tmp.DataScan1.getSerie(DataScan1.java:49)位于tmp.DataScan1.main的数据为'L','18.'(DataScan1.java: 66)"

怎么了?

这是我的工作示例:

import java.util.Arrays;
import java.util.HashMap;

public class DataScan1 extends HashMap<Character, DataSerie>{
    public static double[] freqs;

    public void putSerie(char lriv, double freq, double[][] xyValues){

        char key1 = lriv;
        long key2 = double2key(round(freq, 4));

        DataSerie dataSerie = new DataSerie();

        dataSerie.put(key2, xyValues);
        this.put(key1, dataSerie);

    }

    private static long double2key(double value){
        long result = (long) (value * 10000);
        return result;      
    }

    public DataScan1(){

        freqs = new double[]{1, 16.9,4.0,18.2,17.4};

        for (int idxfreq=0; idxfreq<freqs.length; idxfreq++){

            double[][] array = new double[][]{{1, 2}, {3,4}}; …
Run Code Online (Sandbox Code Playgroud)

java

1
推荐指数
1
解决办法
608
查看次数

标签 统计

java ×2

jfreechart ×1

jscrollpane ×1

swing ×1

thumbnails ×1