Lines 43-52
Link Here
|
43 |
|
43 |
|
44 |
import java.awt.BorderLayout; |
44 |
import java.awt.BorderLayout; |
45 |
import java.awt.Component; |
45 |
import java.awt.Component; |
|
|
46 |
import java.awt.Dialog; |
46 |
import java.awt.Dimension; |
47 |
import java.awt.Dimension; |
47 |
import java.awt.Insets; |
48 |
import java.awt.Insets; |
|
|
49 |
import java.awt.Window; |
48 |
import java.awt.event.ActionEvent; |
50 |
import java.awt.event.ActionEvent; |
49 |
import java.awt.event.ActionListener; |
51 |
import java.awt.event.ActionListener; |
|
|
52 |
import java.awt.event.HierarchyEvent; |
53 |
import java.awt.event.HierarchyListener; |
50 |
import java.awt.event.KeyEvent; |
54 |
import java.awt.event.KeyEvent; |
51 |
import javax.swing.Action; |
55 |
import javax.swing.Action; |
52 |
import javax.swing.ActionMap; |
56 |
import javax.swing.ActionMap; |
Lines 133-146
Link Here
|
133 |
} |
137 |
} |
134 |
|
138 |
|
135 |
protected void editCell(JTable table, int row, int column) { |
139 |
protected void editCell(JTable table, int row, int column) { |
136 |
JTextArea textArea = new JTextArea(10, 50); |
140 |
JTextArea textArea = new JTextArea(20, 80); |
137 |
Object value = table.getValueAt(row, column); |
141 |
Object value = table.getValueAt(row, column); |
138 |
if (value != null) { |
142 |
if (value != null) { |
139 |
textArea.setText(value.toString()); |
143 |
textArea.setText(value.toString()); |
140 |
textArea.setCaretPosition(0); |
144 |
textArea.setCaretPosition(0); |
141 |
textArea.setEditable(editable); |
145 |
textArea.setEditable(editable); |
142 |
} |
146 |
} |
143 |
JScrollPane pane = new JScrollPane(textArea); |
147 |
|
|
|
148 |
final JScrollPane pane = new JScrollPane(textArea); |
149 |
// Hack to make JOptionPane resizable |
150 |
// https://blogs.oracle.com/scblog/entry/tip_making_joptionpane_dialog_resizable |
151 |
pane.addHierarchyListener(new HierarchyListener() { |
152 |
@Override |
153 |
public void hierarchyChanged(HierarchyEvent e) { |
154 |
Window window = SwingUtilities.getWindowAncestor(pane); |
155 |
if (window instanceof Dialog) { |
156 |
Dialog dialog = (Dialog)window; |
157 |
if (!dialog.isResizable()) { |
158 |
dialog.setResizable(true); |
159 |
} |
160 |
} |
161 |
} |
162 |
}); |
163 |
|
144 |
Component parent = WindowManager.getDefault().getMainWindow(); |
164 |
Component parent = WindowManager.getDefault().getMainWindow(); |
145 |
|
165 |
|
146 |
if (editable) { |
166 |
if (editable) { |