From: <se...@us...> - 2008-05-14 21:36:46
|
Revision: 139 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=139&view=rev Author: sem62 Date: 2008-05-14 14:36:31 -0700 (Wed, 14 May 2008) Log Message: ----------- Added cellSizeUpdae calls in MouseLister. Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineCellRenderer.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineTableCellEditor.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPartsTableModel.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java 2008-05-14 21:05:22 UTC (rev 138) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java 2008-05-14 21:36:31 UTC (rev 139) @@ -210,8 +210,7 @@ partsTable = new javax.swing.JTable(); partsTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - partsTable.setDefaultRenderer(String.class, new MultiLineCellRenderer()); - partsTable.setDefaultRenderer(Object.class, new MultiLineCellRenderer()); + partsTable.setDefaultRenderer(MultiLineCellRenderer.class, new MultiLineCellRenderer()); partsTable.setDefaultRenderer(PartOptionsPanel.class, new PartOptionsPanel()); setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineCellRenderer.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineCellRenderer.java 2008-05-14 21:05:22 UTC (rev 138) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineCellRenderer.java 2008-05-14 21:36:31 UTC (rev 139) @@ -8,15 +8,15 @@ import javax.swing.border.EmptyBorder; import javax.swing.table.TableCellRenderer; -class MultiLineCellRenderer extends JTextArea implements TableCellRenderer { +public class MultiLineCellRenderer extends JTextArea implements TableCellRenderer { /** * */ private static final long serialVersionUID = 1L; public MultiLineCellRenderer() { + setWrapStyleWord(true); setLineWrap(true); - setWrapStyleWord(true); setOpaque(true); } @@ -39,7 +39,12 @@ } else { setBorder(new EmptyBorder(1, 2, 1, 2)); } + setText((value == null) ? "" : value.toString()); + +// int thisHeight = getPreferredSize().height + 2; +// table.setRowHeight(row, thisHeight); + return this; } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineTableCellEditor.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineTableCellEditor.java 2008-05-14 21:05:22 UTC (rev 138) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineTableCellEditor.java 2008-05-14 21:36:31 UTC (rev 139) @@ -1,6 +1,10 @@ package edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ; import java.awt.Component; +import java.awt.event.InputMethodEvent; +import java.awt.event.InputMethodListener; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; import javax.swing.AbstractCellEditor; import javax.swing.BorderFactory; @@ -9,43 +13,84 @@ import javax.swing.JTextArea; import javax.swing.table.TableCellEditor; -public class MultiLineTableCellEditor extends AbstractCellEditor implements TableCellEditor -{ +public class MultiLineTableCellEditor extends AbstractCellEditor implements + TableCellEditor, InputMethodListener, KeyListener { + @Override + public void keyPressed(KeyEvent e) { +// cellSizeUpdate(); + } + + @Override + public void keyReleased(KeyEvent e) { +// cellSizeUpdate(); + } + + @Override + public void keyTyped(KeyEvent e) { + cellSizeUpdate(); + } + + protected int tableRow; + protected JTable table; + + @Override + public void caretPositionChanged(InputMethodEvent arg0) { + cellSizeUpdate(); + } + + private void cellSizeUpdate() { + int thisHeight = myEditor.getPreferredSize().height + 2; + table.setRowHeight(tableRow, thisHeight); + } + + @Override + public void inputMethodTextChanged(InputMethodEvent arg0) { + cellSizeUpdate(); + } + /** * */ private static final long serialVersionUID = 1L; protected JTextArea myEditor; protected JScrollPane myScrollPane; - + public MultiLineTableCellEditor() { myEditor = new JTextArea(); myEditor.setWrapStyleWord(true); myEditor.setLineWrap(true); myEditor.setOpaque(true); -// myEditor.setRows(3); + myEditor.addInputMethodListener(this); + myEditor.addKeyListener(this); + myScrollPane = new JScrollPane(myEditor); myScrollPane.setBorder(BorderFactory.createEmptyBorder()); - myScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); + myScrollPane + .setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); myScrollPane.getVerticalScrollBar().setFocusable(false); myScrollPane.getHorizontalScrollBar().setFocusable(false); } public Component getTableCellEditorComponent(JTable table, Object value, - boolean isSelected, int row, int column) - { - myEditor.setBackground(isSelected ? table.getSelectionBackground() : table.getBackground()); - myEditor.setForeground(isSelected ? table.getSelectionForeground() : table.getForeground()); + boolean isSelected, int row, int column) { + this.table = table; + this.tableRow = row; + + myEditor.setBackground(isSelected ? table.getSelectionBackground() + : table.getBackground()); + myEditor.setForeground(isSelected ? table.getSelectionForeground() + : table.getForeground()); myEditor.setText(value == null ? "" : value.toString()); - myScrollPane.setBounds(0,0,table.getColumnModel().getColumn(column).getWidth(), 0); - int thisHeight = myEditor.getPreferredSize().height+2; - table.setRowHeight(row, thisHeight); - + myScrollPane.setBounds(0, 0, table.getColumnModel().getColumn(column) + .getWidth(), 0); + + cellSizeUpdate(); + return myScrollPane; } public Object getCellEditorValue() { return myEditor.getText(); - } + } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPartsTableModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPartsTableModel.java 2008-05-14 21:05:22 UTC (rev 138) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPartsTableModel.java 2008-05-14 21:36:31 UTC (rev 139) @@ -5,6 +5,7 @@ import javax.swing.table.DefaultTableModel; +import edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ.MultiLineCellRenderer; import edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ.PartOptionsPanel; public class CompileQPartsTableModel extends DefaultTableModel { @@ -19,7 +20,10 @@ @Override public Class<?> getColumnClass(int col) { - + if (col == 1){ + return MultiLineCellRenderer.class; + } + if (col == 2){ return PartOptionsPanel.class; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |