我正在研究Swing的應用程序和哪些我正在獲取數據和我正在使用擺動Jtable渲染渲染圖像中,但是當數據更是它所有時間掛起我能做些什麼來阻止呢?JTable圖像渲染是花費太多的負載在應用程序
示例渲染,我正在使用。
public class DefaultTableCellRenderer extends javax.swing.table.DefaultTableCellRenderer {
JLabel jLabel;
public DefaultTableCellRenderer() {
jLabel = new JLabel();
}
public Component getTableCellRendererComponent(
JTable table, Object value, boolean selected, boolean focus, int row, int col) {
try {
if (row == 1) {
jLabel.setIcon(new ImageIcon(ImageIO.read(getClass().getResource("blank.png"))));
jLabel.setText("Image Data");
jLabel.setBackground(Color.LIGHT_GRAY);
} else {
jLabel.setIcon(new ImageIcon(ImageIO.read(getClass().getResource("blank.png"))));
jLabel.setText("Final");
}
//jLabel.setIcon(new ImageIcon(ImageIO.read(new File("blank"))));
return jLabel;
} catch (Exception e) {
e.printStackTrace();
}
return jLabel;
}
@Override
public boolean mouseEnter(Event evt, int x, int y) {
System.out.println(jLabel.getText());
return true;
}
}
考慮提供一個[可運行示例]( https://stackoverflow.com/help/mcve)這表明你的問題。這將導致更少的混淆和更好的響應 – MadProgrammer 2014-09-04 07:08:41
@MadProgrammer是它的工作文件,但承受如此多的負載,我的意思是它需要太多的CPU。而數據更多。 – 2014-09-04 07:10:13
請勿從渲染器中加載圖像。將它們放入可以單獨查看的某種類型的緩存中。 – MadProgrammer 2014-09-04 08:07:35