I spent a few days of time when writing Table, and finally got it, sharing with you. The following is a call method: / *************************************************** ***************************** / DefaultTableModel model = new defaultTableModel (); // / * Settings Table Model * / Model.SetDataVector (RowDataS, TableHeadName);
/ * The table using the model * /// JBTable table = new JBTable (tableModel); JBTable table = new JBTable (); table.setRowSelectionAllowed (true); // add table.setModel (model); JTextField text = new JTextField () ; //
JCOMBOBOX COM_SIZE = New JCOMBOBOX (); // Font Size COM_SIZE.ADDITEM ("1"); com_size.additem ("2"); com_size.additem ("4"); COM_SIZE. AddItem ("5"); COM_SIZE.ADDITEM ("6");
JBMUTITYPEEDITOR COM_EDIT = New JBMUTITYPEEDITOR (Text, COM_SI); // TableColumn Acolumn1 = Table.getColumn ("Properties"); Acolumn1.SetCelleditor (com_edit); / **************** ********************************************* / The upper side code Nothing special, the key is class below. Package JBPD.Application;
Import javax.swing. *; import java.awt.Event. *; import java.util. *; import java.awt. *; import javax.swing.Table. *; import java.util.EventObject; import javax.swing .Table. *;
Class JBMUTITYPEEDITOR EXTENDS DefaultCelleditor {JTABLE EDITITABLE = New JTABLE (); JTextField TextComponent; JComboBOX ComboComponent; Boolean TextorNot = True;
Public JBMUTITYPEEDITOR (JTextField Text, JcomboBOX Combo) {Super (Text); TextComponent = Text; CombOcomponent = Combo;}
Public void setTextorNot (Boolean TextorNot) {this.TextorNot = TextorNot;
public Component getTableCellEditorComponent (JTable table, Object value, boolean isSelected, int row, int column) {editingTable = table; String flag = (String) table.getValueAt (row, 0); // table with jbpage "page font" Corresponding IF (Flag.equals) || flag.equals ("Is selected")) {string item = (value! = Null)? Value.toString (): "1"; defaultcomboBoxModel model = (Defaultcomponent. GetModel (); for (int i = 0; i