📄 tab2_labs_panel.java
字号:
package com.icbcsdc.ddlexp.ui.rightPanel;
import java.awt.BorderLayout;
import java.awt.Font;
import java.util.ArrayList;
import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.border.Border;
import javax.swing.table.TableColumn;
import com.icbcsdc.ddlexp.pub.xml.nodeinfo.OracleTypeAttribute;
import com.icbcsdc.ddlexp.pub.xml.nodeinfo.OracleTypeMethod;
import com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLNode;
import com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLObjectType;
import com.icbcsdc.ddlexp.ui.TreeFrame;
import com.icbcsdc.ddlexp.ui.model.NoEditTextArea;
import com.icbcsdc.ddlexp.ui.model.NoEdit_TableModel;
/**
*
* 右边窗口内容显示
*
*适用对象:
*用于显示对象类型ObjectType的详细内容
*
*/
public class Tab2_labs_Panel extends RightPanel {
private BorderLayout borderLayout = new BorderLayout();
private JLabel labelTitle =new JLabel();
private JLabel labelName =new JLabel();
private JLabel labelOwner =new JLabel();
private JLabel labelAttr =new JLabel();
private JLabel labelMeth =new JLabel();
private NoEditTextArea textarea1 =new NoEditTextArea();
private NoEditTextArea textarea2 =new NoEditTextArea();
private JTable jTable_Show1 = new JTable(); //显示内容的Table
private JTable jTable_Show2 = new JTable(); //显示内容的Table
private String[] columnName1 = new String[2]; //Table列的列头
private String[] columnName2 = new String[2]; //Table列的列头
private int[] colLength = new int[3]; //Table列的宽度
private static final byte COL_1 = 0;
private static final byte COL_2 = 1;
private NoEdit_TableModel tableModel1 = null; //Table Model
private NoEdit_TableModel tableModel2 = null; //Table Model
private String[][] showObj1 = null;
private String[][] showObj2 = null;
private JScrollPane jScrollPane1 = new JScrollPane();
private JScrollPane jScrollPane2 = new JScrollPane();
private Border border;
private JPanel contentPane = new JPanel();
private String title = "";
private String showName = "";
private String showOwner = "";
private String show1 = "";
private String show2 = "";
private String strName = "";
private String strOwner = "";
public Tab2_labs_Panel(TreeFrame parent,XMLNode in_node) {
super(parent,in_node);
switch(in_node.getType()){
case(XMLNode.XML_OBJECTTYPE):
/*对象类型*/
XMLObjectType objecttype = (XMLObjectType)in_node;
this.title = "Object Type";
this.showName = "Type Name:";
this.showOwner = "Owner:";
this.show1 = " Attributes:";
this.show2 = " Methods:";
this.strName = objecttype.getName();
this.strOwner = in_node.getParent().getParent().getParent().getName();
columnName1[COL_1] = "Name";
columnName1[COL_2] = "Data Type";
columnName2[COL_1] = "Name";
columnName2[COL_2] = "Method Type";
colLength[COL_1] = 1000;
colLength[COL_2] = 600;
ArrayList attrs = objecttype.getAttributes();
if(attrs.size() > 0){
this.showObj1 = new String[attrs.size()][columnName1.length];
for(int i=0;i<attrs.size();i++){
OracleTypeAttribute attr = (OracleTypeAttribute)attrs.get(i);
showObj1[i][COL_1] = attr.getName();
showObj1[i][COL_2] = attr.getDataType();
}
}
ArrayList methods = objecttype.getMethods();
if(methods.size() > 0){
this.showObj2 = new String[methods.size()][columnName1.length];
for(int i=0;i<methods.size();i++){
OracleTypeMethod method = (OracleTypeMethod)methods.get(i);
showObj2[i][COL_1] = method.getName();
showObj2[i][COL_2] = method.getMethodType();
}
}
break;
default:
break;
}
try {
jbInit();
}catch(Exception ex) {
ex.printStackTrace();
}
}
void jbInit() throws Exception {
contentPane.setLayout(null);
labelTitle.setBounds(TITLE_START_HOR,TITLE_START_VER,RIGHT_WIDTH,TITLE_HEIGHT);
labelTitle.setFont(new Font("华文中宋",Font.PLAIN,36));
labelTitle.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
this.labelName.setBounds(START_HOR,START_VER,HEAD_LENGTH,SHOW_HEIGHT);
labelName.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
this.textarea1.setBounds(START_HOR + HEAD_LENGTH + 1,START_VER,CONTENT_LENGTH,SHOW_HEIGHT);
textarea1.setEditable(false);
textarea1.setBackground(java.awt.SystemColor.activeCaptionBorder);
textarea1.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.SystemColor.desktop,1));
this.labelOwner.setBounds(START_HOR,START_VER + (SHOW_HEIGHT + SHOW_INTERVAL),HEAD_LENGTH,SHOW_HEIGHT);
labelOwner.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
this.textarea2.setBounds(START_HOR + HEAD_LENGTH + 1,START_VER + (SHOW_HEIGHT + SHOW_INTERVAL),CONTENT_LENGTH,SHOW_HEIGHT);
textarea2.setEditable(false);
textarea2.setBackground(java.awt.SystemColor.activeCaptionBorder);
textarea2.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.SystemColor.desktop,1));
// this.textarea3.setBounds(START_HOR + HEAD_LENGTH + 1,START_VER + (SHOW_HEIGHT + SHOW_INTERVAL)*2,CONTENT_LENGTH,SHOW_HEIGHT);
// textarea3.setEditable(false);
// textarea3.setBackground(java.awt.SystemColor.activeCaptionBorder);
// textarea3.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.SystemColor.desktop,1));
this.labelAttr.setBounds(START_HOR,START_VER + (SHOW_HEIGHT + SHOW_INTERVAL)*3,CONTENT_LENGTH,SHOW_HEIGHT);
this.labelMeth.setBounds(START_HOR,START_VER + (SHOW_HEIGHT + SHOW_INTERVAL)*10,CONTENT_LENGTH,SHOW_HEIGHT);
jScrollPane1.setBounds(START_HOR,START_VER + (SHOW_HEIGHT + SHOW_INTERVAL)*4-SHOW_INTERVAL,RIGHT_WIDTH-START_HOR*2,(SHOW_HEIGHT + SHOW_INTERVAL)*5);
tableModel1 = new NoEdit_TableModel(this.columnName1);
jTable_Show1.setModel(this.tableModel1);
jScrollPane1.setViewportView(jTable_Show1);
jScrollPane2.setBounds(START_HOR,START_VER + (SHOW_HEIGHT + SHOW_INTERVAL)*11-SHOW_INTERVAL,RIGHT_WIDTH-START_HOR*2,(SHOW_HEIGHT + SHOW_INTERVAL)*5);
tableModel2 = new NoEdit_TableModel(this.columnName2);
jTable_Show2.setModel(this.tableModel2);
jScrollPane2.setViewportView(jTable_Show2);
contentPane.add(labelTitle,null);
contentPane.add(labelName,null);
contentPane.add(labelOwner,null);
contentPane.add(labelAttr,null);
contentPane.add(labelMeth,null);
contentPane.add(textarea1,null);
contentPane.add(textarea2,null);
contentPane.add(jScrollPane1,null);
contentPane.add(jScrollPane2,null);
this.setLayout(borderLayout);
this.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
this.add(contentPane,BorderLayout.CENTER);
this.refresh();
}
public JPanel getJPanel(){
return this;
};
public void open(){
}
public void close(){
}
public void refresh(){
labelTitle.setText(title);
this.labelName.setText(this.showName);
this.labelOwner.setText(this.showOwner);
this.labelAttr.setText(this.show1);
this.labelMeth.setText(this.show2);
this.textarea1.setText(this.strName);
this.textarea2.setText(this.strOwner);
this.tableModel1.setData(this.showObj1);
this.tableModel2.setData(this.showObj2);
this.setTableColumnLength(this.jTable_Show1);
this.setTableColumnLength(this.jTable_Show2);
}
private void setTableColumnLength(JTable table){
TableColumn column = null;
for (int i = 0; i < this.columnName1.length; i++) {
column = table.getColumnModel().getColumn(i);
switch(i){
case(COL_1):
column.setPreferredWidth(colLength[COL_1]);
break;
case(COL_2):
column.setPreferredWidth(colLength[COL_2]);
break;
default:
break;
}
}
}
/* (non-Javadoc)
* @see com.icbcsdc.ddlexp.ui.rightPanel.RightPanel#expDDL()
*/
public void expDDL() {
// TODO Auto-generated method stub
}
public void setSelect(){}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -