Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用具有布局的paintComponent_Java_Swing_Layout_Jcombobox_Paintcomponent - Fatal编程技术网

Java 使用具有布局的paintComponent

Java 使用具有布局的paintComponent,java,swing,layout,jcombobox,paintcomponent,Java,Swing,Layout,Jcombobox,Paintcomponent,如何将paintComponent转换为可以使用JFrame中的布局进行操作的组件 所以,我遇到了一个问题。在我的课程中,我还没有真正被教过如何使用布局/图形用户界面(layouts/GUI) 我的问题是:我有一个用户输入数字的程序。根据这个数字,程序计算出一个圆,并使用paintComponent方法将其绘制出来,该方法内部有一个for循环。绘制圆的“像素”实际上是fillRect方法。当前获取用户输入的方法是JOptionPaneshowInputDialog。这基本上是好的,但我希望用户能

如何将
paintComponent
转换为可以使用
JFrame
中的布局进行操作的组件

所以,我遇到了一个问题。在我的课程中,我还没有真正被教过如何使用布局/图形用户界面(layouts/GUI)


我的问题是:我有一个用户输入数字的程序。根据这个数字,程序计算出一个圆,并使用
paintComponent
方法将其绘制出来,该方法内部有一个for循环。绘制圆的“像素”实际上是
fillRect
方法。当前获取用户输入的方法是
JOptionPane
showInputDialog
。这基本上是好的,但我希望用户能够从一组预定义的数字中进行选择。有人建议我使用
JComboBox
,但我不知道如何将
paintComponent
转换为布局管理器可以使用的东西(据我所知,
JComboBox
必须使用)。我知道
油漆组件的尺寸(805px乘以805px),在任何情况下都不会改变。如果我能在这方面得到一些帮助,我相信我自己可以使用布局管理器解决问题。

你不知道
paintComponent
的尺寸,因为它是一种方法,而方法没有尺寸。您可能知道
JPanel
JFrame
或任何组件的尺寸

您应该将绘制的面板与包含任何组合框或您决定放入的其他输入的不同面板分开。这样,您可以保持绘图面板的原样,并且它们不会相互干扰。您需要搜索有关
LayoutManagers

的教程另一种绘制方法(除了自定义绘制)是绘制到
缓冲区图像。然后图像可以显示在
JLabel

示例:

  • 相当复杂的一个
  • 另一个

您可以访问互联网吗?我听说那里的信息比书多得多。@AndrewThompson对此很抱歉,刚刚醒来。如何将
paintComponent
转换为可以使用
JFrame
中的布局进行操作的组件?问题在于它的位置。我已经做了编辑,所以我们可以删除这个噪音。@Kayaman确实有!我之所以这么说,是因为不可避免地会有人告诉我去读书,或者去搜索。其中一个我已经做了,另一个不是选项…:)<代码>我还并没有真正被教过(也并没有接触过一本书)如何在我的课程中使用布局/GUI的东西。
-从开始。我该怎么做呢?你有没有可能把我链接到一个资源上?显然,在你编辑它之后,我并没有刷新。让它工作,谢谢:)你知道这个包括脏区域的矩形吗