0

私が作成しました

import java.awt.Color;
import java.awt.Graphics;

import javax.swing.JPanel;

  public class Painter extends JPanel {

    public void paintComponent(Graphics g) {

        super.paintComponent(g);
        g.setColor(new Color(100,100,100));
        g.drawLine(0, 0, 200, 200);
        System.out.println("heir3");
        System.out.println(Main.Array[0]);
        if (Main.Array[0] == 1){
            g.drawOval(100, 100, Main.Radint, Main.Radint);
            System.out.println("heir8");

      } else {
          g.drawString("2", 150, 100);
      }
    }
  } 

ラベルに何かを描画できるこのクラス。最初は、Line と 2 を描画するだけです。しかし、残念ながら、このクラスをもう一度呼び出して Oval を描画することはできません。

では、このクラスをもう一度呼び出して、JPanelそれがオンになっているものを更新または更新するにはどうすればよいですか?


import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Buttons implements ActionListener {

    public JButton Kreis = new JButton();
    public JTextField Text = new JTextField();
    Frame Fr = new Frame();

    public JButton Kreis(){
        Kreis.setText("Kreis");
        Kreis.addActionListener(this);
        return Kreis;
    }
    public JTextField TextField(){
        Text.setPreferredSize(new Dimension(100,20));
        return Text;
    }
    public void actionPerformed(ActionEvent e) {
        Object source = e.getSource();
        if (Kreis == source){
            Main.Radius = Text.getText();
            Main.Radint = Integer.parseInt(Main.Radius);
            Main.Array[0] = 1;
            Main.Array[1] = Main.Radint;
            System.out.println("hier");
            JPanel paint = new Painter();
            Fr.changeFrame(paint);
            System.out.println("hier");

        }
}
}

これは@GojiraDeMonstahです

4

0 に答える 0