jjzjj

JComponent

全部标签

java - 如何在 Java Swing 中获取面板的所有组件?

如何在JavaSwing中获取面板的所有组件?C#中有没有类似foreach的方法来处理JPanel的所有子组件? 最佳答案 您可以使用方法getComponents:Component[]components=jpanel.getComponents(); 关于java-如何在JavaSwing中获取面板的所有组件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1572766

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 - 列表初始化的奇怪错误

我的一个friend问我是否可以帮助他找出他在一段代码上遇到的错误背后的原因,以及最重要的为什么当他添加一些代码时错误消失了.我查看了有关这些类(class)的文档,也找不到原因。代码如下:importjava.util.Arrays;importjava.util.List;importjavax.swing.JComponent;importjavax.swing.JPanel;importjavax.swing.JTabbedPane;publicclassTest{publicstaticvoidmain(String[]args){/***Thislineshowsthisc

java - 在 JPanel 上绘画与在 JComponent 上绘画有什么好处?

所以在最近的回答中,有人评论了这个(关于绘画):"Thisisprobablysomekindofillnessof90%ofSwingProgrammers:Whentheymaketheirowncomponent,theyalwaysextendJPanelinsteadofJComponent.Why?"我对编程还很陌生,所以我认为现在称自己为Swing程序员还为时过早,因为我还没有找到自己的定位。但是重写JPanel正是我被教导的方式。因此,我着手寻找评论者提出的“为什么?”问题的答案。这些是我找到的一些答案。Backgroundpaintingismaindifferenc

java - 覆盖 getPreferredSize() 会破坏 LSP

我总是在这个网站上看到覆盖getPreferredSize()而不是使用setPreferredSize()的建议,如这些先前线程中所示。UseofoverridinggetPreferredSize()insteadofusingsetPreferredSize()forfixedsizeComponentsShouldIavoidtheuseofset(Preferred|Maximum|Minimum)SizemethodsinJavaSwing?OverridingsetPreferredSize()andgetPreferredSize()看这个例子:publicclassM

java - JComponent.isShowing() 和 isDisplayable() 之间的区别

Component.isShowing()之间有什么区别?和Component.isDisplayable()?我想用它们来决定我是否应该停止/启动计时器。 最佳答案 一个组件isShowing()当Determineswhetherthiscomponentisshowingonscreen.Thismeansthatthecomponentmustbevisible,anditmustbeinacontainerthatisvisibleandshowing.isShowing()是递归的并且也检查所有父组件,但是isDispl

java - 连接设备后Android studio界面不重绘

Androidstudio界面在连接ADB设备后不会重绘,无论是AVD还是硬件手机/平板电脑。连接设备后,Studio窗口变为灰色,然后如果我将鼠标拖到某些(但不是全部)区域上方,它们就会变得明显(见下面的屏幕截图)。事件日志显示多个ArrayIndexOutOfBoundsExceptions以及以下堆栈跟踪:java.lang.ArrayIndexOutOfBoundsException:300atcom.intellij.openapi.editor.impl.EditorImpl$CachedFontContent.addContent(EditorImpl.java:2973

java - 如何使用 GridLayout 设置组件大小?有没有更好的办法?

我正在使用Java开发更大的GUI,我对布局管理器感到愤怒。我有一个“设置面板”,其中包含可变数量的JComponent(标签、按钮、JSpinner、JSlider等)。我只想要以下内容:JLabelJComponentJLabelJComponentJLabelJComponent...我的Panel有500px的大小,所以有足够的空间容纳很多组件。不幸的是,GridLayout总是将组件的大小拉伸(stretch)到整个面板,即使我为每个组件设置了MaximumSize。如果只有两个高度为250px的按钮,这看起来很愚蠢。我试过FlowLayout,但我想不出一种方法来正确地换行

java - JComponent.paintImmediately() 如何在 Java Swing 中工作?

我的理解:与Swing中的大多数组件/操作不同,对JComponent.repaint()的调用是线程安全的,即尽管重绘请求是从另一个线程发出的(即不是来自EDT),但实际绘制仅在EDT中发生。下面的代码片段演示了这一点。publicclassPaintingDemo{publicstaticvoidmain(String[]args){finalJFrameframe=newJFrame();finalJPanelp=newMyPanel();SwingUtilities.invokeLater(newRunnable(){@Overridepublicvoidrun(){frame

java - Swing 中的 MVC 线程安全吗

我正在尝试触及MVCarchitecture的限制在Swing中,但是当我尝试所有操作时(来自SwingWorker或Runnable#Thread)都是在EDT上完成的我的问题:是否有一些限制或严格取决于实现顺序(包装到SwingWorker或Runnable#Thread中)?有限的是JComponent#method是否线程安全?Swing中MVC架构的基本特征,?公司。容器重新布局?注意:对于我的SSCCE,我采用了HFOE的一个很好的例子,也许严格遵守这个原则不可能造成任何EDT缺失或GUI卡住importjava.awt.BorderLayout;importjava.aw