草庐IT

jtable-main-container

全部标签

java - JTable - 按 Tab 键让单元格进入编辑模式

这可能有一个简单的解决方案,但我已经筋疲力尽了,所以我希望有人能帮忙。我使用一个JTable,它有一个自定义渲染器和一个用于一组列的自定义编辑器。渲染器使用JLabel组件,编辑器使用JSpinner组件。我们的用户希望能够在列中输入值,然后按TAB或ENTER移动到表中的下一个可编辑单元格。如果我理解正确的话,这是JTable的默认行为。但是,这对我来说似乎无法正常工作。在用户单击单元格之前,只会显示JLabel。JSpinner(即CellEditor)仅在用户双击单元格时显示。因此,看起来单元格仅在MouseEvents上进入“编辑”模式,而不是在它具有焦点时。如何让单元格在获得

java - 如果 main 方法在 java 文件的 "non public class"中怎么办?

我有一个包含多个类的java文件,其中一个是公共(public)类。如果main方法在非公共(public)类中。我无法运行该java文件。这是为什么?而且也没有编译错误。如果是这样,我该如何使用该主要方法? 最佳答案 实际上你可以在非公共(public)类中执行main方法。如果你把这个类classA{publicstaticvoidmain(String...args){System.out.println("Thisisnotapublicclass!");}}在名为NonPubClass.java的文件中。您可以使用java

java - 为什么在同一个类中有构造函数和 main 方法

为什么您需要在您的类中有一个包含publicstaticvoidmain(String[]args){}的构造函数?为什么不用一个带有构造函数的单独类来实例化它呢? 最佳答案 main()方法是java中任何程序的入口点。这是JVM调用以执行程序的方法。包括抽象类在内的每个类都有一个构造函数。即使您没有明确声明,编译器也会添加一个默认构造函数。main()方法必须属于某个公共(public)类(它总是有一个构造函数)。是的,通常最好设计另一个具有所有编程逻辑的类,并在主类中实例化此类,即其中包含main()方法的类。但是你也可以有一

java - 线程 "main"java.io.FileNotFoundException : Error 中的异常

我正在使用Eclipse来编译和运行我的java代码。这是我遇到的错误。Exceptioninthread"main"java.io.FileNotFoundException:file.txt(Thesystemcannotfindthefilespecified)atjava.io.FileInputStream.open(NativeMethod)atjava.io.FileInputStream.(UnknownSource)atjava.util.Scanner.(UnknownSource)athelloworld.main(helloworld.java:9)这是我的代码

java - 如何更改 JTable 标题背景颜色?

我试过:table.getTableHeader().setBackground(Color.BLACK);不起作用。编辑:此代码仅在我的项目中不起作用。在其他项目中工作。我可能更改了阻止颜色更改的属性。或者NetBeans可能有一些保留默认颜色的属性。我注意到别的东西。我项目中标题的颜色以不同的方式闪耀。在颜色变化起作用的示例中,我看到了不同的图形。编辑2:其他内容。我注意到按钮也不会改变颜色。必须是通用的。希望这可以帮助。不幸的是,SSCCE在这种情况下不起作用,因为我无法重现该问题。我肯定使用了正确的组件名称。 最佳答案 试试

java - 比较 LinkedList.contains() 中的对象

我希望能够让LinkedList.contains()为自定义比较器返回true。假设我有1个LinkedList和2个对象LinkedListmyList=newLinkedList();MyObjecta=newMyObject("HELLO");MyObjectb=newMyObject("HELLO");从技术上讲,两个对象在比较方面是相同的(MyObject实现了Comparable)(a==b)==真但是,当我执行以下操作时,myList不会为myList.contains(b)返回truemyList.add(a)myList.contains(b)//==false我认

java - Java程序必须要有Main方法吗?

写java程序需要main方法吗?这是我的代码:packageexample;publicclassHelloWorld{publicHelloWorld(){}publicStringgetHelloWorld(){return"HelloFromJava!";}}它在编译时显示错误:java.lang.NoSuchMethodError:mainExceptioninthread"main" 最佳答案 java程序不需要main方法。正如其他人指出的那样,Web应用程序不使用main方法。独立应用程序甚至不需要它。考虑class

java.lang.ArrayIndexOutOfBoundsException : 0 >= 0 attempting to populate JTable 异常

我将JTable子类化并使用DefaultTableModel为我的表数据建模。以下类设置JTable,并向模型添加一行。importjava.io.File;importjava.util.Iterator;importjava.util.Vector;importjavax.swing.JTable;importjavax.swing.table.DefaultTableModel;importjavax.swing.table.TableColumn;publicclassSelectedFileTableextendsJTable{VectorSelectedFiles=new

java - 如何在编辑时选择 JTable 单元格中的所有文本但在键入时不选择?

JTable的默认行为是在您开始键入时追加到内容上,并在单击时将插入符号放在单击的位置。我希望这两个东西的行为都发生变化,所以当我编辑一个单元格时,内容会被替换,无论是通过键入还是通过单击然后键入。但是,当我单击一个单元格然后更改插入符号位置时,我希望保留内容以便我可以更改它。我知道如何在单元格开始编辑时全选,方法是将单元格编辑器替换为在SwingUtilities.invokeLater中全选的单元格编辑器(请参阅elsewhere),但这会导致打字行为中断。当我这样做并开始在单元格中键入时,首先键入的字符附加到字符串,然后它被选中(但选择是不可见的!),当键入另一个字符时,内容将被

java - 为什么没有调用 main 方法?每次执行时在java中递归的次数?

当我尝试运行此程序几次时,i的最终值为11407、11417、11400等在显示堆栈溢出错误之前。为什么每次执行此程序时i的最终值都不一样?publicclassMainRecursive{staticinti=0;publicstaticvoidmain(Stringarg[]){i++;System.out.println(i);main(arg);}} 最佳答案 尝试在打印后添加System.out.flush();。由于堆栈大小没有改变,每次运行时i都会得到相同的值,但我认为println()在不同时间更新输出之前被异常中断