相关疑难解决方法(0)

如何在编辑时选择JTable单元格中的所有文本

我想让我的可编辑JTable中的编辑器在开始编辑时选择单元格中的所有文本.我尝试了一些事情,都围绕从TableCellEditor.getTableCellEditorComponent方法返回的组件上调用JTextComponent.selectAll().我尝试过的所有事情都没有.

在我最近的尝试中,我改变了Swing教程中的SimpleTableDemo类,以使用调用selectAll方法的自定义TableCellEditor.在调试器中,我可以看到正在调用selectAll()方法,但是表仍然进入编辑模式而不选择单元格中的文本(或者可能在显示之前清除选择).该代码如下.谁能告诉我哪里出错了?

import javax.swing.DefaultCellEditor;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import javax.swing.text.JTextComponent;


import java.awt.Component;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;


public class SimpleTableDemo extends JPanel {
    private boolean DEBUG = false;


    public SimpleTableDemo() {
        super(new GridLayout(1, 0));

        String[] columnNames = {"First Name",
                                "Last Name",
                                "Sport",
                                "# of Years",
                                "Vegetarian"};

        Object[][] data = {
                {"Kathy", "Smith", "Snowboarding", new Integer(5), new Boolean(false)},
                {"John", "Doe", "Rowing", new Integer(3), new Boolean(true)},
                {"Sue", …
Run Code Online (Sandbox Code Playgroud)

java swing jtable

12
推荐指数
1
解决办法
2万
查看次数

如何在单元格编辑后维护JTable单元格渲染

你们在我的上一个问题上指出了正确的方向,你们真是太棒了,我在这里有一些原始问题的扩展:

如何将JTable列设置为String并排序为Double?

我现在通过使用我的自定义单元格渲染器将我的价格列格式化为$ ###,## 0.00,我现在也为单元格设置了一个JTextField编辑器.编辑单元格工作正常,除了更新值时,我的自定义渲染器中设置的数字格式似乎不再格式化单元格(我在编辑提交后丢失了$).即使在初始显示数据之后,此渲染器是否也不应渲染单元格?

我试过使用以下但没有运气:

((AbstractTableModel) table.getModel()).fireTableDataChanged();
Run Code Online (Sandbox Code Playgroud)

我希望这会强制表重新验证并使用自定义渲染器重新绘制单元格以呈现新值,但遗憾的是这不起作用...

我错过了什么......显然,但是什么?

java swing jtable tablecelleditor tablecellrenderer

8
推荐指数
1
解决办法
2万
查看次数

Netbeans GUI编辑器生​​成自己难以理解的代码

在netbeans中创建一个新项目时,如果我选择JAVA Desktop应用程序,它会创建一些我根本无法识别的代码,就像我在摇摆中学到的那样.

它导入包如:

org.jdesktop.application.SingleFrameApplication;
Run Code Online (Sandbox Code Playgroud)

另外,main()的声明如下:

public static void main(String[] args) {
            launch(DesktopApplication2.class, args);
        }
Run Code Online (Sandbox Code Playgroud)

这对我对JFrame,JPanel等的知识没有任何意义.

如果我尝试从头编写netbeans应用程序,我可以编写自己的swing应用程序,但我找不到GUI编辑器.

  • 从头开始创建Java应用程序时如何使用GUI编辑器?
  • 任何人都可以向我解释这个org.jdesktop.application.SingleFrameApplication和其他类吗?

请帮忙.这真令人沮丧.

java user-interface swing netbeans

7
推荐指数
1
解决办法
9831
查看次数