forked from KNEMC/KLALB
KLALB完全大重写,代码规范了,可以当作网络库使用
This commit is contained in:
@@ -1,85 +0,0 @@
|
||||
package org.kne.cloud.network.klalb;
|
||||
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JLabel;
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Color;
|
||||
|
||||
import javax.swing.SwingConstants;
|
||||
import javax.swing.border.LineBorder;
|
||||
import java.awt.Font;
|
||||
|
||||
public class TPanel extends JPanel{
|
||||
private JLabel tname;
|
||||
private JLabel targ;
|
||||
private Tunnel tunnel;
|
||||
|
||||
public JLabel getTname() {
|
||||
return tname;
|
||||
}
|
||||
public JLabel getTarg() {
|
||||
return targ;
|
||||
}
|
||||
public TPanel (Tunnel t) {
|
||||
this(t.getName());
|
||||
this.tunnel=t;
|
||||
}
|
||||
/**
|
||||
* @wbp.parser.constructor
|
||||
*/
|
||||
public TPanel(String name) {
|
||||
setOpaque(false);
|
||||
setLayout(new BorderLayout(0, 0));
|
||||
|
||||
tname = new JLabel(name);
|
||||
tname.setFont(new Font("宋体", Font.BOLD, 20));
|
||||
add(tname, BorderLayout.WEST);
|
||||
|
||||
targ = new JLabel();
|
||||
targ.setFont(new Font("宋体", Font.PLAIN, 13));
|
||||
targ.setHorizontalAlignment(SwingConstants.TRAILING);
|
||||
targ.setForeground(Color.YELLOW);
|
||||
add(targ, BorderLayout.CENTER);
|
||||
|
||||
setBorder(new LineBorder(Color.BLACK));
|
||||
setSize(570, 30);
|
||||
setPreferredSize(getSize());
|
||||
}
|
||||
private long up,down,ups,downs,delay;
|
||||
|
||||
public long getDelay() {
|
||||
return delay;
|
||||
}
|
||||
private void updateText() {
|
||||
String dl;
|
||||
if(delay==Long.MAX_VALUE)
|
||||
dl="??";
|
||||
else
|
||||
dl=Long.toString(delay/1000000);
|
||||
targ.setText(bytesUnit(up)+"\u2191 "+bytesUnit(down)+"\u2193 "+bytesUnit(ups)+"/s\u2191 "+bytesUnit(downs)+"/s\u2193 "+dl+"ms");
|
||||
}
|
||||
private String bytesUnit(long v) {
|
||||
if(v>=1024L*1024*1024*1024*1024) {
|
||||
return String.format("%.1f", v/(1024.0*1024.0*1024.0*1024.0*1024.0))+"PB";
|
||||
}else if(v>=1024L*1024*1024*1024) {
|
||||
return String.format("%.1f", v/(1024.0*1024.0*1024.0*1024.0))+"TB";
|
||||
}else if(v>=1024L*1024*1024) {
|
||||
return String.format("%.1f", v/(1024.0*1024.0*1024.0))+"GB";
|
||||
}else if(v>=1024L*1024) {
|
||||
return String.format("%.1f", v/(1024.0*1024.0))+"MB";
|
||||
}else if(v>=1024L) {
|
||||
return String.format("%.1f", v/(1024.0))+"KB";
|
||||
}else {
|
||||
return v+"B";
|
||||
}
|
||||
}
|
||||
public void setTraffic(long up2, long down2, long ups, long downs, long delay2) {
|
||||
up=up2;
|
||||
down=down2;
|
||||
this.ups=ups;
|
||||
this.downs=downs;
|
||||
this.delay=delay2;
|
||||
updateText();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user