package com.dev.ntm;
|
|
import javax.swing.JPanel;
|
|
import java.awt.GridLayout;
|
|
import javax.swing.border.TitledBorder;
|
import javax.swing.table.DefaultTableModel;
|
|
import com.teechart.TBarChart_fbs;
|
|
import java.awt.BorderLayout;
|
import java.awt.datatransfer.Clipboard;
|
import java.awt.datatransfer.StringSelection;
|
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionListener;
|
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseEvent;
|
import java.util.Vector;
|
|
import javax.swing.JMenuItem;
|
import javax.swing.JPopupMenu;
|
import javax.swing.JTabbedPane;
|
import javax.swing.JScrollPane;
|
import javax.swing.JTable;
|
import javax.swing.ScrollPaneConstants;
|
|
public class ntm_page_chart extends JPanel {
|
private TBarChart_fbs m_TBarMonVolChart;
|
private TBarChart_fbs m_TBarMonTmpChart;
|
private TBarChart_fbs m_TBarMonResChart;
|
private TBarChart_fbs m_TBarMonCurrChart;
|
private SPCommNTM m_Comm_NTM = null;
|
|
private JTable table_ntm_data;
|
private Vector<String> columnVector;
|
private Vector<Vector<String>> dataRow;
|
/**
|
*
|
*/
|
private static final long serialVersionUID = 1L;
|
|
/**
|
* Create the panel.
|
*/
|
public ntm_page_chart() {
|
setLayout(new BorderLayout(0, 0));
|
|
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
|
add(tabbedPane);
|
|
JPanel panel_4 = new JPanel();
|
tabbedPane.addTab("\u76F4\u89C2\u56FE\u5F62", null, panel_4, null);
|
panel_4.setLayout(new GridLayout(2, 2, 0, 0));
|
|
JPanel panel = new JPanel();
|
panel_4.add(panel);
|
panel.setBorder(new TitledBorder(null, "\u5355\u4F53\u7535\u538B(V)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
|
panel.setLayout(new BorderLayout(0, 0));
|
m_TBarMonVolChart = new TBarChart_fbs(TBarChart_fbs.Bar_Type_MonVol);
|
panel.add(m_TBarMonVolChart, BorderLayout.CENTER);
|
|
JPanel panel_1 = new JPanel();
|
panel_4.add(panel_1);
|
panel_1.setBorder(new TitledBorder(null, "\u5355\u4F53\u6E29\u5EA6(\u2103)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
|
panel_1.setLayout(new BorderLayout(0, 0));
|
m_TBarMonTmpChart = new TBarChart_fbs(TBarChart_fbs.Bar_Type_MonTmp);
|
panel_1.add(m_TBarMonTmpChart, BorderLayout.CENTER);
|
|
JPanel panel_2 = new JPanel();
|
panel_4.add(panel_2);
|
panel_2.setBorder(new TitledBorder(null, "\u5355\u4F53\u5185\u963B(m\u03A9)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
|
panel_2.setLayout(new BorderLayout(0, 0));
|
m_TBarMonResChart = new TBarChart_fbs(TBarChart_fbs.Bar_Type_MonRes);
|
panel_2.add(m_TBarMonResChart, BorderLayout.CENTER);
|
|
JPanel panel_3 = new JPanel();
|
panel_4.add(panel_3);
|
panel_3.setBorder(new TitledBorder(null, "\u5355\u4F53\u5747\u8861\u7535\u6D41(mA)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
|
panel_3.setLayout(new BorderLayout(0, 0));
|
m_TBarMonCurrChart = new TBarChart_fbs(TBarChart_fbs.Bar_Type_MonSer);
|
panel_3.add(m_TBarMonCurrChart, BorderLayout.CENTER);
|
|
JPanel panel_5 = new JPanel();
|
tabbedPane.addTab("\u6570\u636E\u8868\u683C", null, panel_5, null);
|
panel_5.setLayout(new BorderLayout(0, 0));
|
|
JScrollPane scrollPane = new JScrollPane();
|
scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
|
panel_5.add(scrollPane);
|
|
table_ntm_data = new JTable();
|
columnVector = new Vector<String>();
|
columnVector.add("µ¥Ìå±àºÅ");
|
columnVector.add("µçѹ(V)");
|
columnVector.add("ζÈ(¡æ)");
|
columnVector.add("ÄÚ×è(m¦¸)");
|
|
dataRow = new Vector<Vector<String>>();
|
table_ntm_data.setModel(new DefaultTableModel(dataRow, columnVector));
|
MouseAdapter m_a = new MouseAdapter() {
|
public void mouseReleased(MouseEvent e) {
|
if(e.getSource() != table_ntm_data) {
|
return;
|
}
|
/*
|
int selectColumn = m_JTable.columnAtPoint(e.getPoint());
|
int selectRow = m_JTable.rowAtPoint(e.getPoint());
|
if (selectColumn == mCheckBoxColnumIndex) {
|
boolean value = (boolean) m_JTable.getValueAt(selectRow, selectColumn);
|
m_UI_Monit.m_MonLineChart.getSeries(selectRow+1).setVisible(!value);
|
}
|
*/
|
}
|
public void mousePressed(MouseEvent evt) {
|
if (evt.getButton() == MouseEvent.BUTTON3) {
|
JPopupMenu popupMenu = new JPopupMenu();
|
JMenuItem tableItem_export_data = null;
|
|
tableItem_export_data = new JMenuItem("¸´ÖƵ½¼ôÌù°å");
|
tableItem_export_data.addActionListener(new ActionListener(){
|
@Override
|
public void actionPerformed(ActionEvent arg0) {
|
Clipboard clipboard = getToolkit().getSystemClipboard();
|
String temp = "";
|
for(int c=0; c<columnVector.size(); c++)
|
{
|
temp += columnVector.get(c) + "\t";
|
}
|
temp += "\n";
|
for(int r=0; r<dataRow.size(); r++)
|
{
|
for(int c=0; c<columnVector.size(); c++)
|
{
|
temp += dataRow.get(r).get(c) + "\t";
|
}
|
temp += "\n";
|
}
|
StringSelection text = new StringSelection(temp);
|
clipboard.setContents(text, null);
|
}
|
});
|
popupMenu.add(tableItem_export_data);
|
popupMenu.show(evt.getComponent(), evt.getX(), evt.getY());
|
}
|
}
|
};
|
|
table_ntm_data.addMouseListener(m_a);
|
scrollPane.setViewportView(table_ntm_data);
|
|
}
|
|
public void setComm_NTM(SPCommNTM sz) {
|
m_Comm_NTM = sz;
|
}
|
|
public void updateDate() {
|
if(null == m_Comm_NTM) {
|
return;
|
}
|
|
int mon_cnt = m_Comm_NTM.m_MonData.mon_cnt;
|
m_TBarMonVolChart.updateChartData(TBarChart_fbs.Bar_Type_MonVol, m_Comm_NTM.m_MonData.mon_vol, mon_cnt);
|
if(dataRow.size() != mon_cnt)
|
{
|
dataRow.clear();
|
for(int n=0; n<mon_cnt; n++) {
|
Vector<String> row = new Vector<String>();
|
row.addElement(String.format("%03d", n+1));
|
row.addElement(String.format("%1.3f", m_Comm_NTM.m_MonData.mon_vol[n]));
|
row.addElement(String.format("%1.1f", m_Comm_NTM.m_MonData.mon_tmp[n]));
|
row.addElement(String.format("%1.3f", m_Comm_NTM.m_MonData.mon_res[n]));
|
dataRow.add(row);
|
}
|
} else {
|
for(int n=0; n<mon_cnt; n++) {
|
dataRow.get(n).setElementAt(String.format("%1.3f", m_Comm_NTM.m_MonData.mon_vol[n]), 1);
|
dataRow.get(n).setElementAt(String.format("%1.1f", m_Comm_NTM.m_MonData.mon_tmp[n]), 2);
|
dataRow.get(n).setElementAt(String.format("%1.3f", m_Comm_NTM.m_MonData.mon_res[n]), 3);
|
}
|
}
|
table_ntm_data.updateUI();
|
}
|
}
|