расширенный просмотр содержимого ячейки таблицы по ПКМ

This commit is contained in:
2025-03-02 14:26:16 +03:00
parent 6413f2340a
commit c9a013a17b
3 changed files with 19 additions and 4 deletions

4
.idea/workspace.xml generated
View File

@@ -8,8 +8,8 @@
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment=""> <list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Common/Visual/Menus/TableMenu.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Visual/Menus/TableMenu.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/Visual/Tables/RendererMilliseconds.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Visual/Tables/RendererMilliseconds.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/Common/Test/UI/TestsForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/Common/Test/UI/TestsForm.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -3,6 +3,7 @@ import Common.CommonConstants;
import Common.Utils.Utils_; import Common.Utils.Utils_;
import javax.swing.*; import javax.swing.*;
import java.awt.*;
public class TableMenu extends StyledPopupMenu { public class TableMenu extends StyledPopupMenu {
int row = CommonConstants.Nan; int row = CommonConstants.Nan;
int column = CommonConstants.Nan; int column = CommonConstants.Nan;
@@ -10,12 +11,19 @@ public class TableMenu extends StyledPopupMenu {
//- //-
JTable owner = null; JTable owner = null;
VisualiserMenuItem mcopy; VisualiserMenuItem mcopy;
JTextArea value_view;
JScrollPane value_scroll;
public TableMenu(JTable owner_in) { public TableMenu(JTable owner_in) {
owner = owner_in; owner = owner_in;
mcopy = new VisualiserMenuItem("Копировать текст текущей ячейки", "/icons/Editor/Copy.png"); mcopy = new VisualiserMenuItem("Копировать текст текущей ячейки", "/icons/Editor/Copy.png");
//если удалось нажать значит все условия выполнены //если удалось нажать значит все условия выполнены
mcopy.addActionListener(e -> Utils_.CopyToClipboard(target.toString())); mcopy.addActionListener(e -> Utils_.CopyToClipboard(target.toString()));
add(mcopy); add(mcopy);
//
add(value_scroll= new JScrollPane(value_view = new JTextArea()));
value_view.setEditable(false);
value_view.setLineWrap(true);
value_view.setWrapStyleWord(true);
} }
@Override @Override
public void CheckElementsVisibility() { public void CheckElementsVisibility() {
@@ -24,7 +32,14 @@ public class TableMenu extends StyledPopupMenu {
if ((row >= 0) && (column >= 0)) { if ((row >= 0) && (column >= 0)) {
target = owner.getValueAt(row, column); target = owner.getValueAt(row, column);
mcopy.setVisible(true); mcopy.setVisible(true);
} else mcopy.setVisible(false); Dimension d= new Dimension(Math.max(mcopy.getWidth(), 300),100);
value_view.setVisible(true);
value_view.setText(target.toString());
value_scroll.setPreferredSize(d);
} else {
mcopy.setVisible(false);
value_view.setVisible(false);
}
super.CheckElementsVisibility(); super.CheckElementsVisibility();
} }
} }

View File

@@ -29,7 +29,7 @@ public class TestsForm extends DataSetControlForm<Test> {
new ColumnInfo<Test>("описание") { new ColumnInfo<Test>("описание") {
@Override @Override
public Object getFieldAt(Test object) { public Object getFieldAt(Test object) {
return object.extended_description.replace("\n",""); return object.extended_description;//.replace("\n","→");
} }
@Override @Override
public Class getRendererClass() { public Class getRendererClass() {