java组件()
class MyClass extends JComponent {
void paintComponent() {
//code for class here
}
}
class myTestClass extends JPanel {
MyClass temp = new MyClass();
void paintComponent() {
super.paintComponent();
static void main(String[] a) {
JFrame f = new JFrame();
//Does the temp have to be added to the panel before it can be repainted
}
} //End Class
我知道JPanel
进入了JFrame
。但是类(MyClass
)是否必须添加到JPanel
中,因为油漆Component()
将使用super.paintComponent()
重新绘制子节点。我认为情况会是这样。如果是这样,那么temp.repaint()
应该重新绘制该特定组件,如果super.paintComponent()
重新绘制该组件,则该组件将被调用。
这似乎是一个没有人或至少没有人真正发布过的答案。我的解释可能有点夸张,所以我会在这里尝试澄清。
如果我有几个扩展JComponent的类,我希望它们都能在类中使用,这样我就可以重新绘制它们。假设一个是圆、矩形、正方形等等。。。。。。。。。。。。。。
如果它们都有一个paintComponent()
和一个super。paintComponent()
它们应该能够用变量名称重新绘制。重新油漆()
它们是否必须添加到将它们作为内容保存的
JPanel
。它们可以从代码中的任何地方被调用为repaint()
。
驱动类:
class MyMainDriverClass {
A a = new A();
B b = new B();
C c = new C();
void someClass() {
a.repaint();
b.repaint();
c.repaint(); //this should repaint the components if the JPanel is inside of the JFrame
//(I didn't put this code in)
}
}
如果创建的所有类都有
paintComponent()
,则应该重新绘制上面的组件。
道格·豪夫
是的,需要将MyClass
添加到屏幕上可显示的内容中才能进行绘制。这里的推理是MyClass
扩展了JComponent
和myTestClass
扩展了JPanel
,它们没有任何关联,因此从myTestClass
内部调用super.paintComponent
不会以任何方式绘制或更新MyClass
。
任何你想画的东西都必须被添加到一个可显示的容器中。
看看AWT和Swing中的绘画,了解更多关于绘画的细节。
您可以根据需要在任何组件
单独或其父容器上调用重新绘制
问题内容: 如果我有 我怎样才能从? 如果我这样做,那我就代替了。 问题答案: 组件类型 用这个: 返回表示数组的组件类型的信息。如果此类不表示数组类,则此方法返回。 参考: 安全/不安全铸造 有没有一种方法可以从getComponentType()返回的Class强制转换为Class,而不会收到编译器警告? 采取这种方法: 这是生成的字节码: 如您所见,参数类型被擦除为Object [],因此编
数组在编程语言中是非常重要的数据结构。本小节我们来一起学习 Java 数组,通过本小节的学习,你将了解到数组的基本概念,如何声明数组以及数组的声明有哪些方式,如何初始化数组以及数组初始化有哪些方式,数组的常用操作有哪些,多维数组的声明、创建、初始化以及迭代等等。多维数组部分将以二维数组进行为例讲解,理解了二维数组,再去理解多维数组就相对容易了。 1. 什么是数组 数组是相同类型的数据按照顺序组成的
我正在尝试更新我编写的程序的GUI。在新的GUI上,我有一个JFrame,其中包含一个JPanel,它有一个JTabbedPane和上面的两个按钮。 在JTabbedPane中,我有三个JPanel,其中包含不同的组件。(如按钮、文本字段等)所以现在我必须让所有组件根据类型对其执行相同的操作。 如果有一个文本字段,我必须做一些事情,但如果有一个按钮,我必须做其他事情。 所以之前我做过这样的事情:
主要内容:1 什么是Java ThreadGroup(线程组),2 Java ThreadGroup类的构造方法,3 Java ThreadGroup类的方法,4 Java ThreadGroup类的例子1 什么是Java ThreadGroup(线程组) Java提供了一种将多个线程组合到单个对象中的便捷方法。这样,我们可以通过单个方法调用来挂起,恢复或中断线程组。 Java线程组由java.lang.ThreadGroup类实现。 ThreadGroup代表一组线程。一个线程组也可以包括另一
问题内容: 我已经看到了几种有神论的方法,它们似乎都起作用,但是我只是想知道一种方法是否比另一种更好。 例如,一个叫你可以这样做: 您还可以执行以下操作: 这些“正确”之一吗? 问题答案: 来自类javadoc的文字副本 JFrame类与Frame略有不兼容。像所有其他JFC / Swing顶级容器一样,JFrame包含JRootPane作为其唯一的子级。根窗格提供的内容窗格通常应包含JFrame
问题内容: 我有一个界面。 当我尝试创建这样的数组时会发生什么? 我如何实现此数组? 问题答案: 是的,有可能。您需要使用Type对象填充数组的字段 并且是实现Module接口的类。或者,您可以使用匿名内部类: 这回答了你的问题了吗?