Skip to content

Commit e9e1bfb

Browse files
committed
Fixed activity indicator scaling
1 parent 0e45479 commit e9e1bfb

File tree

2 files changed

+21
-5
lines changed

2 files changed

+21
-5
lines changed

pom.xml

+5
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,10 @@
3535
<artifactId>async-http-client</artifactId>
3636
<version>1.9.36</version>
3737
</dependency>
38+
<dependency>
39+
<groupId>org.imgscalr</groupId>
40+
<artifactId>imgscalr-lib</artifactId>
41+
<version>4.2</version>
42+
</dependency>
3843
</dependencies>
3944
</project>

src/com/jackyoustra/kautoload/DownloadTable.java

+16-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package com.jackyoustra.kautoload;
22

33
import java.awt.Component;
4+
import java.awt.Dimension;
5+
import java.awt.Image;
6+
import java.awt.geom.AffineTransform;
7+
import java.awt.image.AffineTransformOp;
48
import java.awt.image.BufferedImage;
59
import java.io.File;
610
import java.io.IOException;
@@ -15,13 +19,14 @@
1519
import javax.swing.table.TableCellRenderer;
1620
import javax.swing.table.TableModel;
1721

18-
public class DownloadTable extends JTable {
22+
import org.imgscalr.Scalr;
1923

24+
public class DownloadTable extends JTable {
2025

2126
private static class ProgressRenderer extends DefaultTableCellRenderer {
2227
private static BufferedImage image;
2328
private final JProgressBar progressBar = new JProgressBar(0, 100);
24-
private final JLabel imageLabel = new JLabel(new ImageIcon(image));
29+
private final JLabel imageLabel;
2530
static{
2631
try {
2732
image = ImageIO.read(new File("src" + File.separator + "assets" + File.separator + "uiactivityindicator_intro.png"));
@@ -30,10 +35,17 @@ private static class ProgressRenderer extends DefaultTableCellRenderer {
3035
}
3136
}
3237

33-
public ProgressRenderer() {
38+
public ProgressRenderer(Dimension dimensions) {
3439
super();
3540
setOpaque(true);
41+
int smallest = dimensions.width;
42+
if(dimensions.width > dimensions.height){
43+
smallest = dimensions.height;
44+
}
45+
BufferedImage scaled = Scalr.resize(image, smallest);
46+
imageLabel = new JLabel(new ImageIcon(scaled));
3647
progressBar.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1));
48+
imageLabel.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1));
3749
}
3850

3951
@Override
@@ -58,7 +70,6 @@ else if(value instanceof Integer){
5870
}
5971
}
6072

61-
6273
public DownloadTable() {
6374
super();
6475
}
@@ -70,7 +81,7 @@ public DownloadTable(TableModel dm) {
7081
@Override
7182
public TableCellRenderer getCellRenderer(int row, int column) {
7283
if(column == getModel().getColumnCount()-1){
73-
return new ProgressRenderer();
84+
return new ProgressRenderer(new Dimension(this.getColumnModel().getColumn(column).getWidth(), getRowHeight()));
7485
}
7586
return super.getCellRenderer(row, column);
7687
}

0 commit comments

Comments
 (0)