Java 图形中的按钮
我的最后一个问题可能太长了,所以我决定改变它 我正在寻找一种方法,使按钮或监听器,使这个图形显示后,按下我刚刚开始编程,所以我不知道如何做它确切。 任何帮助都将不胜感激:)Java 图形中的按钮,java,button,graphics,awt,paint,Java,Button,Graphics,Awt,Paint,我的最后一个问题可能太长了,所以我决定改变它 我正在寻找一种方法,使按钮或监听器,使这个图形显示后,按下我刚刚开始编程,所以我不知道如何做它确切。 任何帮助都将不胜感激:) 使用内置的jframe类。 您可以设置.contentpane(可见,false)将图形放入内容窗格。 然后使用jbutton将内容窗格设置为单击时可见,至少使用Swing API开始。我还质疑是否需要使用applet,并建议使用基于窗口的类,因为它们处理起来要简单得多 首先创建一个自定义组件,该组件从JPanel扩展而来,
使用内置的jframe类。 您可以设置.contentpane(可见,false)将图形放入内容窗格。
然后使用jbutton将内容窗格设置为单击时可见,至少使用Swing API开始。我还质疑是否需要使用applet,并建议使用基于窗口的类,因为它们处理起来要简单得多 首先创建一个自定义组件,该组件从
JPanel
扩展而来,覆盖它的paintComponent
方法,并将自定义绘制放在其中
创建另一个JPanel
并为其分配一个BorderLayout
并将其添加到主容器中,这将充当“机器人窗格”的占位符
使用BorderLayout
创建JButton
,将“内容窗格”和按钮都放在顶级容器中(在您的情况下是小程序)
在按钮上附加一个ActionListener
,当按钮被触发时,创建“机器人窗格”的新实例并将其放置在“内容窗格”中
看
要了解更多详细信息,您需要一个按钮和一个侦听器才能获得所需内容。您需要一个
JButton
和一个ActionListener
。下面您将看到我编写的一些代码,这些代码用于创建一个使用JButtons
和ActionListeners
的21点游戏。ActionListeners
将链接到您的JButtons
,这样当单击按钮时,ActionListener
执行您想要执行的任何操作
JButton Quit = new JButton("Quit");
Quit.addActionListener(new QuitListener());
CenterSub.add(Quit, BorderLayout.SOUTH);
让我们从片段的第一行开始。我在equals的右侧声明了一个名为Quit
的JButton
。在左侧,我完成了初始化,并给出了要在实际按钮上显示的JButton
文本。在这种情况下,一旦程序运行,按钮将读取“退出”。第二行将一个ActionListener
添加到JButton
中,这样一旦单击按钮,ActionListener
中的代码就会执行。在第二行的括号中,我调用了新的ActionListener
QuitListener
。当我编写侦听器代码时,这将是它的名称。最后一行显示了我在JPanel
上添加按钮的位置。我调用了JPanel
名称(CenterSub
),然后传入按钮的名称以及我希望它作为参数定位的位置
private class QuitListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
}
这个片段是我在第一个片段中添加到JButton
的QuitListener
的定义QuitListener
实现接口ActionListener
,该接口允许我定义actionPerformed(ActionEvent e)
方法来执行我想要的操作。ActionEvent
是玩家点击“退出”
按钮。单击按钮时,执行方法actionPerformed
并调用System.exit(0)
,终止程序,从而允许玩家退出游戏
因此,总结一下,要实现您想要实现的目标,请创建一个JButton
、一个ActionListener
,并在ActionListener
方法的actionEvent
定义中,调用您定义的绘制方法。为了获得进一步的帮助,我强烈建议您查看jbuttonapi以及您可能需要的任何其他API
这是最重要的
这是我第一次回答一个问题,所以我希望这能帮助你了解你需要什么 我建议改变你的逻辑。创建一个自定义组件,从
JPanel
扩展,覆盖它的paintComponent
方法,并在其中放置自定义图形。创建一个JButton
并将其与另一个JPanel
一起放在屏幕上。单击按钮时,要么用自定义的一个来替换空白面板,要么将其添加到该面板中。更多细节请参见我刚开始学习java,我们的老师给我们展示了一些简单的图形创作,比如矩形、椭圆形等。所以我决定用它来做一些更大的东西,只是简单的形状,然后制作这个机器人。完整版本有1000多条生产线,机器人正在移动。我在考虑为每个形状创建类以缩短代码。但是我没有时间做所有其他的作业,所以我就这样做了。你可能会感兴趣,1)为什么要编写小程序?如果是老师指定的,请参考。2) 为什么要使用AWT?有关放弃AWT使用组件而支持Swing的许多好理由,请参阅。@TomaszLesiecki不要忘记选择正确答案。祝你编码顺利。到目前为止,图形还不是我的强项,但我希望我能给你一些帮助。这对你很有帮助。很高兴它有帮助,一定要吸收教程,它们将帮助到永远
JButton Quit = new JButton("Quit");
Quit.addActionListener(new QuitListener());
CenterSub.add(Quit, BorderLayout.SOUTH);
private class QuitListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
}