如何在按下按钮时画一个圆圈
How to draw a circle on button press
我正在尝试在按下按钮时画一个圆。
public Buttons(Panel panel){
addStud = new JButton("+ Student");
addStud.setToolTipText("Add a student");
addStud.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
//draw circle here
}
});
这是我在 Button.java
中的按钮
public void draw(Graphics g){
g.setColor(Color.BLUE);
g.fillOval(200, 200, 400, 50);
}
这就是我要在 Panel.java
中调用的内容
我有一个 public void paintComponent(Graphics g)
但我不想立即绘制圆圈。
我尝试初始化 Panel() 并调用它但没有成功。我可以在这里做什么?
class MyPanel extends JPanel {
Boolean drawBlue = false;
public void drawBlueCircle( Boolean draw ) {
drawBlue = draw;
repaint();
}
protected void paintComponent( Graphics g ) {
if ( drawBlue ) {
g.setColor(Color.BLUE);
g.fillOval(200, 200, 400, 50);
}
}
}
然后在你按钮的 actionPerformed 方法中调用
myPanel.drawBlueCircle(true);
其中 myPanel 是您创建的 MyPanel 的实例。
我正在尝试在按下按钮时画一个圆。
public Buttons(Panel panel){
addStud = new JButton("+ Student");
addStud.setToolTipText("Add a student");
addStud.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
//draw circle here
}
});
这是我在 Button.java
中的按钮public void draw(Graphics g){
g.setColor(Color.BLUE);
g.fillOval(200, 200, 400, 50);
}
这就是我要在 Panel.java
中调用的内容我有一个 public void paintComponent(Graphics g)
但我不想立即绘制圆圈。
我尝试初始化 Panel() 并调用它但没有成功。我可以在这里做什么?
class MyPanel extends JPanel {
Boolean drawBlue = false;
public void drawBlueCircle( Boolean draw ) {
drawBlue = draw;
repaint();
}
protected void paintComponent( Graphics g ) {
if ( drawBlue ) {
g.setColor(Color.BLUE);
g.fillOval(200, 200, 400, 50);
}
}
}
然后在你按钮的 actionPerformed 方法中调用
myPanel.drawBlueCircle(true);
其中 myPanel 是您创建的 MyPanel 的实例。