package com.netsdk.demo.customize.surfaceEventDemo.frame;
|
|
import com.netsdk.demo.customize.surfaceEventDemo.frame.basic.CanvasPanel;
|
import com.netsdk.demo.customize.surfaceEventDemo.frame.basic.EventInfoPanel;
|
import com.netsdk.demo.customize.surfaceEventDemo.frame.basic.SwingUtil;
|
|
import javax.imageio.ImageIO;
|
import javax.swing.*;
|
import java.awt.*;
|
import java.awt.image.BufferedImage;
|
import java.io.BufferedInputStream;
|
import java.io.ByteArrayInputStream;
|
import java.io.IOException;
|
import java.io.InputStream;
|
|
/**
|
* @author 47040
|
* @since Created in 2021/5/11 9:41
|
*/
|
public class EventDetailPanel extends JPanel {
|
|
private final CanvasPanel canvasPanel = new CanvasPanel();
|
|
private final EventInfoPanel eventInfoPanel = new EventInfoPanel();
|
|
public EventDetailPanel(String title) {
|
SwingUtil.setBorderEx(this, title, 2);
|
setLayout(new BorderLayout());
|
Dimension dim = getPreferredSize();
|
dim.width = 480;
|
dim.height = 200;
|
setPreferredSize(dim);
|
|
add(canvasPanel, BorderLayout.CENTER);
|
add(eventInfoPanel, BorderLayout.EAST);
|
}
|
|
public CanvasPanel getCanvasPanel() {
|
return canvasPanel;
|
}
|
|
public EventInfoPanel getEventInfoPanel() {
|
return eventInfoPanel;
|
}
|
|
@Override
|
public void setEnabled(boolean enabled) {
|
super.setEnabled(enabled);
|
SwingUtil.SetEnableAllInnerComponent(this, enabled);
|
}
|
|
// 展示图片
|
public void showPicOnCanvas(byte[] data) {
|
BufferedImage buffImg = null;
|
InputStream inputStream = null;
|
try {
|
inputStream = new ByteArrayInputStream(data);
|
buffImg = ImageIO.read(new BufferedInputStream(inputStream));
|
if (buffImg == null) return;
|
} catch (IOException e) {
|
e.printStackTrace();
|
} finally {
|
try {
|
if (inputStream != null) inputStream.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
canvasPanel.showCaptureOnPanel(buffImg);
|
}
|
|
// 展示详情
|
public void setDetail(String detail) {
|
eventInfoPanel.getDetail().setText(detail);
|
}
|
|
// 清空数据
|
public void clearPicAndInfo() {
|
eventInfoPanel.getDetail().setText("");
|
canvasPanel.showCaptureOnPanel(null);
|
}
|
}
|