use of javax.swing.ListSelectionModel in project processdash by dtuma.
the class WBSJTable method setSelectionModel.
/** */
public void setSelectionModel(ListSelectionModel newModel) {
ListSelectionModel oldModel = getSelectionModel();
if (oldModel != null)
oldModel.removeListSelectionListener(SELECTION_LISTENER);
newModel.addListSelectionListener(SELECTION_LISTENER);
super.setSelectionModel(newModel);
}
use of javax.swing.ListSelectionModel in project sling by apache.
the class RequestListSelectionListener method valueChanged.
public void valueChanged(ListSelectionEvent e) {
if (!e.getValueIsAdjusting()) {
ListSelectionModel lsm = (ListSelectionModel) e.getSource();
int idx = lsm.getMinSelectionIndex();
if (idx >= 0) {
try {
idx = table.getRowSorter().convertRowIndexToModel(idx);
TableModel tm = ((RequestTrackerFile) table.getModel()).getData(idx);
if (dataField == null) {
dataField = new JTable();
dataField.setAutoCreateRowSorter(true);
dataField.setGridColor(Color.GRAY);
dataField.setShowGrid(true);
dataField.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
dataField.setRowSelectionAllowed(true);
dataField.setTableHeader(new JTableHeader(dataField.getColumnModel()));
dataField.setFont(new Font("Monospaced", dataField.getFont().getStyle(), dataField.getFont().getSize()));
dataField.setShowHorizontalLines(false);
// dataField.setIntercellSpacing(new Dimension(3, 5));
JDialog d = new JDialog(this.parent);
d.add(new JScrollPane(dataField));
d.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
dataField = null;
}
});
// setup location and size and ensure updating preferences
Util.setupComponentLocationSize(d, REQUEST_X, REQUEST_Y, REQUEST_WIDTH, REQUEST_HEIGHT, (int) screenSize.getWidth() / 4, (int) screenSize.getHeight() / 4, (int) screenSize.getWidth() / 2, (int) screenSize.getHeight() / 2);
d.setVisible(true);
}
dataField.setModel(tm);
Util.setupColumnWidths(dataField.getColumnModel(), REQUEST_COLS);
} catch (IOException e1) {
// ignore
}
}
}
}
use of javax.swing.ListSelectionModel in project MassBank-web by MassBank.
the class SearchPage method createWindow.
/**
* �E�C���h�E����
*/
private void createWindow() {
// �c�[���`�b�v�}�l�[�W���[�ݒ�
ToolTipManager ttm = ToolTipManager.sharedInstance();
ttm.setInitialDelay(50);
ttm.setDismissDelay(8000);
// Search�p�l��
JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BorderLayout());
Border border = BorderFactory.createCompoundBorder(BorderFactory.createEtchedBorder(), new EmptyBorder(1, 1, 1, 1));
mainPanel.setBorder(border);
// *********************************************************************
// User File Query�^�u
// *********************************************************************
DefaultTableModel fileDm = new DefaultTableModel();
fileSorter = new TableSorter(fileDm, TABLE_QUERY_FILE);
queryFileTable = new JTable(fileSorter) {
@Override
public boolean isCellEditable(int row, int column) {
// �I�[�o�[���C�h�ŃZ���ҏW��s�Ƃ���
return false;
}
};
queryFileTable.addMouseListener(new TblMouseListener());
fileSorter.setTableHeader(queryFileTable.getTableHeader());
queryFileTable.setRowSelectionAllowed(true);
queryFileTable.setColumnSelectionAllowed(false);
queryFileTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
String[] col = { COL_LABEL_NO, COL_LABEL_NAME, COL_LABEL_ID };
((DefaultTableModel) fileSorter.getTableModel()).setColumnIdentifiers(col);
(queryFileTable.getColumn(queryFileTable.getColumnName(0))).setPreferredWidth(44);
(queryFileTable.getColumn(queryFileTable.getColumnName(1))).setPreferredWidth(LEFT_PANEL_WIDTH - 44);
(queryFileTable.getColumn(queryFileTable.getColumnName(2))).setPreferredWidth(70);
ListSelectionModel lm = queryFileTable.getSelectionModel();
lm.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
lm.addListSelectionListener(new LmFileListener());
queryFilePane = new JScrollPane(queryFileTable);
queryFilePane.addMouseListener(new PaneMouseListener());
queryFilePane.setPreferredSize(new Dimension(300, 300));
// *********************************************************************
// Result�^�u
// *********************************************************************
DefaultTableModel resultDm = new DefaultTableModel();
resultSorter = new TableSorter(resultDm, TABLE_RESULT);
resultTable = new JTable(resultSorter) {
@Override
public String getToolTipText(MouseEvent me) {
// super.getToolTipText(me);
// �I�[�o�[���C�h�Ńc�[���`�b�v�̕������Ԃ�
Point pt = me.getPoint();
int row = rowAtPoint(pt);
if (row < 0) {
return null;
} else {
int nameCol = getColumnModel().getColumnIndex(COL_LABEL_NAME);
return " " + getValueAt(row, nameCol) + " ";
}
}
@Override
public boolean isCellEditable(int row, int column) {
// �I�[�o�[���C�h�ŃZ���ҏW��s�Ƃ���
return false;
}
};
resultTable.addMouseListener(new TblMouseListener());
resultSorter.setTableHeader(resultTable.getTableHeader());
JPanel dbPanel = new JPanel();
dbPanel.setLayout(new BorderLayout());
resultPane = new JScrollPane(resultTable);
resultPane.addMouseListener(new PaneMouseListener());
resultTable.setRowSelectionAllowed(true);
resultTable.setColumnSelectionAllowed(false);
resultTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
String[] col2 = { COL_LABEL_NAME, COL_LABEL_SCORE, COL_LABEL_HIT, COL_LABEL_ID, COL_LABEL_ION, COL_LABEL_CONTRIBUTOR, COL_LABEL_NO };
resultDm.setColumnIdentifiers(col2);
(resultTable.getColumn(resultTable.getColumnName(0))).setPreferredWidth(LEFT_PANEL_WIDTH - 180);
(resultTable.getColumn(resultTable.getColumnName(1))).setPreferredWidth(70);
(resultTable.getColumn(resultTable.getColumnName(2))).setPreferredWidth(20);
(resultTable.getColumn(resultTable.getColumnName(3))).setPreferredWidth(70);
(resultTable.getColumn(resultTable.getColumnName(4))).setPreferredWidth(20);
(resultTable.getColumn(resultTable.getColumnName(5))).setPreferredWidth(70);
(resultTable.getColumn(resultTable.getColumnName(6))).setPreferredWidth(50);
ListSelectionModel lm2 = resultTable.getSelectionModel();
lm2.addListSelectionListener(new LmResultListener());
resultPane.setPreferredSize(new Dimension(LEFT_PANEL_WIDTH, 200));
dbPanel.add(resultPane, BorderLayout.CENTER);
// *********************************************************************
// DB Query�^�u
// *********************************************************************
DefaultTableModel dbDm = new DefaultTableModel();
querySorter = new TableSorter(dbDm, TABLE_QUERY_DB);
queryDbTable = new JTable(querySorter) {
@Override
public boolean isCellEditable(int row, int column) {
// �I�[�o�[���C�h�ŃZ���ҏW��s�Ƃ���
return false;
}
};
queryDbTable.addMouseListener(new TblMouseListener());
querySorter.setTableHeader(queryDbTable.getTableHeader());
queryDbPane = new JScrollPane(queryDbTable);
queryDbPane.addMouseListener(new PaneMouseListener());
int h = (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight();
queryDbPane.setPreferredSize(new Dimension(LEFT_PANEL_WIDTH, h));
queryDbTable.setRowSelectionAllowed(true);
queryDbTable.setColumnSelectionAllowed(false);
queryDbTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
String[] col3 = { COL_LABEL_ID, COL_LABEL_NAME, COL_LABEL_CONTRIBUTOR, COL_LABEL_NO };
DefaultTableModel model = (DefaultTableModel) querySorter.getTableModel();
model.setColumnIdentifiers(col3);
// �Z�b�g
queryDbTable.getColumn(queryDbTable.getColumnName(0)).setPreferredWidth(70);
queryDbTable.getColumn(queryDbTable.getColumnName(1)).setPreferredWidth(LEFT_PANEL_WIDTH - 70);
queryDbTable.getColumn(queryDbTable.getColumnName(2)).setPreferredWidth(70);
queryDbTable.getColumn(queryDbTable.getColumnName(3)).setPreferredWidth(50);
ListSelectionModel lm3 = queryDbTable.getSelectionModel();
lm3.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
lm3.addListSelectionListener(new LmQueryDbListener());
// �{�^���p�l��
JPanel btnPanel = new JPanel();
btnName.addActionListener(new BtnSearchNameListener());
btnAll.addActionListener(new BtnAllListener());
btnPanel.add(btnName);
btnPanel.add(btnAll);
parentPanel2 = new JPanel();
parentPanel2.setLayout(new BoxLayout(parentPanel2, BoxLayout.PAGE_AXIS));
parentPanel2.add(btnPanel);
parentPanel2.add(queryDbPane);
// �I�v�V�����p�l��
JPanel dispModePanel = new JPanel();
isDispSelected = dispSelected.isSelected();
isDispRelated = dispRelated.isSelected();
if (isDispSelected) {
resultTable.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
} else if (isDispRelated) {
resultTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
}
Object[] retRadio = new Object[] { dispSelected, dispRelated };
for (int i = 0; i < retRadio.length; i++) {
((JRadioButton) retRadio[i]).addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
if (isDispSelected != dispSelected.isSelected() || isDispRelated != dispRelated.isSelected()) {
isDispSelected = dispSelected.isSelected();
isDispRelated = dispRelated.isSelected();
// ���ʃ��R�[�h�I����Ԃ�����
resultTable.clearSelection();
resultPlot.clear();
compPlot.setPeaks(null, 1);
resultPlot.setPeaks(null, 0);
setAllPlotAreaRange();
pkgView.initResultRecInfo();
if (isDispSelected) {
resultTable.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
} else if (isDispRelated) {
resultTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
}
}
}
});
}
ButtonGroup disGroup = new ButtonGroup();
disGroup.add(dispSelected);
disGroup.add(dispRelated);
dispModePanel.add(lbl2);
dispModePanel.add(dispSelected);
dispModePanel.add(dispRelated);
JPanel paramPanel = new JPanel();
paramPanel.add(etcPropertyButton);
etcPropertyButton.setMargin(new Insets(0, 10, 0, 10));
etcPropertyButton.addActionListener(new ActionListener() {
private ParameterSetWindow ps = null;
public void actionPerformed(ActionEvent e) {
// �q��ʂ��J���Ă��Ȃ���ΐ���
if (!isSubWindow) {
ps = new ParameterSetWindow();
} else {
ps.requestFocus();
}
}
});
JPanel optionPanel = new JPanel();
optionPanel.setLayout(new BoxLayout(optionPanel, BoxLayout.Y_AXIS));
optionPanel.add(dispModePanel);
optionPanel.add(paramPanel);
// PackageView�����y�сA������
pkgView = new PackageViewPanel();
pkgView.initAllRecInfo();
queryTabPane.addTab("DB", parentPanel2);
queryTabPane.setToolTipTextAt(TAB_ORDER_DB, "Query from DB.");
queryTabPane.addTab("File", queryFilePane);
queryTabPane.setToolTipTextAt(TAB_ORDER_FILE, "Query from user file.");
queryTabPane.setSelectedIndex(TAB_ORDER_DB);
queryTabPane.setFocusable(false);
queryTabPane.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
// �v���b�g�y�C��������
queryPlot.clear();
compPlot.clear();
resultPlot.clear();
queryPlot.setPeaks(null, 0);
compPlot.setPeaks(null, 1);
resultPlot.setPeaks(null, 0);
// PackageView������
pkgView.initAllRecInfo();
// DB Hit�^�u�֘A������
if (resultTabPane.getTabCount() > 0) {
resultTabPane.setSelectedIndex(0);
}
DefaultTableModel dataModel = (DefaultTableModel) resultSorter.getTableModel();
dataModel.setRowCount(0);
hitLabel.setText(" ");
// DB�^�u�AUser File�^�u�̑I���ς݃��R�[�h���f����
queryTabPane.update(queryTabPane.getGraphics());
if (queryTabPane.getSelectedIndex() == TAB_ORDER_DB) {
parentPanel2.update(parentPanel2.getGraphics());
updateSelectQueryTable(queryDbTable);
} else if (queryTabPane.getSelectedIndex() == TAB_ORDER_FILE) {
queryFilePane.update(queryFilePane.getGraphics());
updateSelectQueryTable(queryFileTable);
}
}
});
// ���C�A�E�g
JPanel queryPanel = new JPanel();
queryPanel.setLayout(new BorderLayout());
queryPanel.add(queryTabPane, BorderLayout.CENTER);
queryPanel.add(optionPanel, BorderLayout.SOUTH);
queryPanel.setMinimumSize(new Dimension(0, 170));
JPanel jtp2Panel = new JPanel();
jtp2Panel.setLayout(new BorderLayout());
jtp2Panel.add(dbPanel, BorderLayout.CENTER);
jtp2Panel.add(hitLabel, BorderLayout.SOUTH);
jtp2Panel.setMinimumSize(new Dimension(0, 70));
Color colorGreen = new Color(0, 128, 0);
hitLabel.setForeground(colorGreen);
resultTabPane.addTab("Result", jtp2Panel);
resultTabPane.setToolTipTextAt(TAB_RESULT_DB, "Result of DB hit.");
resultTabPane.setFocusable(false);
queryPlot.setMinimumSize(new Dimension(0, 100));
compPlot.setMinimumSize(new Dimension(0, 120));
resultPlot.setMinimumSize(new Dimension(0, 100));
int height = initAppletHight / 3;
JSplitPane jsp_cmp2db = new JSplitPane(JSplitPane.VERTICAL_SPLIT, compPlot, resultPlot);
JSplitPane jsp_qry2cmp = new JSplitPane(JSplitPane.VERTICAL_SPLIT, queryPlot, jsp_cmp2db);
jsp_cmp2db.setDividerLocation(height);
jsp_qry2cmp.setDividerLocation(height - 25);
jsp_qry2cmp.setMinimumSize(new Dimension(190, 0));
viewTabPane.addTab("Compare View", jsp_qry2cmp);
viewTabPane.addTab("Package View", pkgView);
viewTabPane.setToolTipTextAt(TAB_VIEW_COMPARE, "Comparison of query and result spectrum.");
viewTabPane.setToolTipTextAt(TAB_VIEW_PACKAGE, "Package comparison of query and result spectrum.");
viewTabPane.setSelectedIndex(TAB_VIEW_COMPARE);
viewTabPane.setFocusable(false);
JSplitPane jsp = new JSplitPane(JSplitPane.VERTICAL_SPLIT, queryPanel, resultTabPane);
jsp.setDividerLocation(310);
jsp.setMinimumSize(new Dimension(180, 0));
jsp.setOneTouchExpandable(true);
JSplitPane jsp2 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, jsp, viewTabPane);
int divideSize = (int) (initAppletWidth * 0.4);
divideSize = (divideSize >= 180) ? divideSize : 180;
jsp2.setDividerLocation(divideSize);
jsp2.setOneTouchExpandable(true);
mainPanel.add(jsp2, BorderLayout.CENTER);
add(mainPanel);
queryPlot.setSearchPage(this);
compPlot.setSearchPage(this);
resultPlot.setSearchPage(this);
}
use of javax.swing.ListSelectionModel in project knime-core by knime.
the class TableContentModelTest method testHilite.
/**
* Method being tested: hiLite(ListSelectionModel) and
* (implicitly) hiLite(KeyEvent).
*/
public final void testHilite() {
final HiLiteHandler hiliter = new HiLiteHandler();
final TableContentModel m = new TableContentModel(DATA, hiliter);
final JTable table = new JTable(m);
final ListSelectionModel listModel = table.getSelectionModel();
// make sure, the content model knows about ALL ROWS
m.getRow(OBJECT_DATA.length - 1);
assertEquals(table.getRowCount(), OBJECT_DATA.length);
// the hilite handler
for (int i = 0; i < OBJECT_DATA.length; i += 2) {
listModel.addSelectionInterval(i, i);
}
m.requestHiLite(listModel);
flushEDTQueue();
for (int i = 0; i < OBJECT_DATA.length; i++) {
boolean shouldBeHiLit = (i % 2 == 0);
boolean isHiLit = m.isHiLit(i);
assertEquals(shouldBeHiLit, isHiLit);
}
// add every third row to the selection.
for (int i = 0; i < OBJECT_DATA.length; i += 3) {
listModel.addSelectionInterval(i, i);
}
m.requestHiLite(listModel);
flushEDTQueue();
for (int i = 0; i < OBJECT_DATA.length; i++) {
boolean shouldBeHiLit = (i % 2 == 0) || (i % 3 == 0);
boolean isHiLit = m.isHiLit(i);
assertEquals(shouldBeHiLit, isHiLit);
}
// clearing the selection shouldn't have any effect
listModel.clearSelection();
for (int i = 0; i < OBJECT_DATA.length; i++) {
boolean shouldBeHiLit = (i % 2 == 0) || (i % 3 == 0);
boolean isHiLit = m.isHiLit(i);
assertEquals(shouldBeHiLit, isHiLit);
}
listModel.setSelectionInterval(0, OBJECT_DATA.length - 1);
m.requestHiLite(listModel);
flushEDTQueue();
for (int i = 0; i < OBJECT_DATA.length; i++) {
assertTrue(m.isHiLit(i));
}
try {
m.requestHiLite((ListSelectionModel) null);
fail("Expected " + NullPointerException.class + " not thrown");
} catch (NullPointerException e) {
NodeLogger.getLogger(getClass()).debug("Got expected exception: " + e.getClass().getName(), e);
}
}
use of javax.swing.ListSelectionModel in project knime-core by knime.
the class TableContentModelTest method testUnHilite.
// testHilite()
/**
* Method being tested: unHiLite(ListSelectionModel)
* (implicitly) unHiLite(KeyEvent).
*/
public final void testUnHilite() {
final HiLiteHandler hiliter = new HiLiteHandler();
final TableContentModel m = new TableContentModel(DATA, hiliter);
final JTable table = new JTable(m);
final ListSelectionModel listModel = table.getSelectionModel();
// make sure, the content model knows about ALL ROWS
m.getRow(OBJECT_DATA.length - 1);
assertEquals(table.getRowCount(), OBJECT_DATA.length);
// first: hilite all; unhilite subsequently
listModel.setSelectionInterval(0, OBJECT_DATA.length - 1);
m.requestHiLite(listModel);
flushEDTQueue();
for (int i = 0; i < OBJECT_DATA.length; i++) {
assertTrue(m.isHiLit(i));
}
listModel.clearSelection();
// the hilite handler
for (int i = 0; i < OBJECT_DATA.length; i += 2) {
listModel.addSelectionInterval(i, i);
}
m.requestUnHiLite(listModel);
flushEDTQueue();
for (int i = 0; i < OBJECT_DATA.length; i++) {
boolean shouldBeUnHiLit = (i % 2 == 0);
boolean isUnHiLit = !m.isHiLit(i);
assertEquals(shouldBeUnHiLit, isUnHiLit);
}
// remove every third row from the selection.
for (int i = 0; i < OBJECT_DATA.length; i += 3) {
listModel.addSelectionInterval(i, i);
}
m.requestUnHiLite(listModel);
flushEDTQueue();
for (int i = 0; i < OBJECT_DATA.length; i++) {
boolean shouldBeUnHiLit = (i % 2 == 0) || (i % 3 == 0);
boolean isUnHiLit = !m.isHiLit(i);
assertEquals(shouldBeUnHiLit, isUnHiLit);
}
// clearing the selection shouldn't have any effect
listModel.clearSelection();
for (int i = 0; i < OBJECT_DATA.length; i++) {
boolean shouldBeUnHiLit = (i % 2 == 0) || (i % 3 == 0);
boolean isUnHiLit = !m.isHiLit(i);
assertEquals(shouldBeUnHiLit, isUnHiLit);
}
listModel.setSelectionInterval(0, OBJECT_DATA.length - 1);
m.requestUnHiLite(listModel);
flushEDTQueue();
for (int i = 0; i < OBJECT_DATA.length; i++) {
assertFalse(m.isHiLit(i));
}
try {
m.requestUnHiLite((ListSelectionModel) null);
fail("Expected " + NullPointerException.class + " not thrown");
} catch (NullPointerException e) {
NodeLogger.getLogger(getClass()).debug("Got expected exception: " + e.getClass().getName(), e);
}
}
Aggregations