如何在java中向按钮添加操作
我一直在使用java按钮,我已经创建了一个按钮,但是当我单击按钮时,我希望对象的形状改变。这是我一直在做的代码如何在java中向按钮添加操作,java,swing,applet,Java,Swing,Applet,我一直在使用java按钮,我已经创建了一个按钮,但是当我单击按钮时,我希望对象的形状改变。这是我一直在做的代码 import java.awt.*; import javax.swing.*; import java.awt.event.*; public class shapes { public static void main(String[] a) { JFrame f = new JFrame("Change shapes"); f.setDefaultCloseOpe
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class shapes {
public static void main(String[] a) {
JFrame f = new JFrame("Change shapes");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton b = new JButton("Shapes Change");
f.getContentPane().add(b);
f.pack();
f.setVisible(true);
}
Public void paint (Graphics g)
{
//no clue what to do here
}
private static abstract class MyButton extends JButton implements ActionListener {
MyButton()
{
addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == b)
{
//no clue what to do here
}
}
}
}
首先,创建了一个形状,单击按钮后,我想将其更改为另一个形状。确实需要对
JButton
进行子类化。如果要自定义按钮,可以使用操作
API,请参阅
要执行自定义绘制,您应该扩展Swing组件,如JComponent
或JPanel
,并覆盖paintComponent
方法
有关更多详细信息,请参阅
然后,您需要提供一些方法,您可以调用这些方法来告诉组件形状应该如何更改
然后,您将为按钮
ActionListener
提供一种方法来引用绘制面板的实例并调用这些方法…您只需向按钮添加一个ActionListener
:
b.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// do some action
}
});
还有几件事需要注意:
首先声明和定义图形对象的方法。例如drawSquare()、drawCircle(),用于绘制所需的形状。定义单选按钮或类似按钮,以获得用户的选择(知道必须绘制哪个对象)。在actionPerformed()中,检查选择了哪个单选按钮,并调用适当的方法绘制对象,并调用repaint()在用户界面中进行更新没有人知道您的规范,因此您应该告诉我们您想要什么,不要告诉我们