[Java] [Clase y objeto] Aplicación simple de clases internas

En la interfaz gráfica de usuario, configure tres botones para establecer el color de fondo en rojo, verde y azul respectivamente.

Inserte la descripción de la imagen aquí

Myframe:

package com.itheima;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class MyFrame extends JFrame{
    
    
    JButton RedButton,GreenButton,BlueButton;
    ColorAction colorAction;
    public MyFrame() {
    
    
        init();
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    void init(){
    
    
        setLayout(new FlowLayout());
        RedButton = new JButton("红色");
        GreenButton = new JButton("绿色");
        BlueButton = new JButton("蓝色");
        add(RedButton);
        add(GreenButton);
        add(BlueButton);
        colorAction = new ColorAction();
        RedButton.addActionListener(colorAction);
        GreenButton.addActionListener(colorAction);
        BlueButton.addActionListener(colorAction);



    }
    private class ColorAction implements ActionListener{
    
    
        @Override
        public void actionPerformed(ActionEvent e) {
    
    
            Container contentPane = getContentPane();
            if(e.getSource() == RedButton){
    
    
                contentPane.setBackground(Color.RED);
            }
            if(e.getSource() == GreenButton){
    
    
                contentPane.setBackground(Color.GREEN);
            }
            if(e.getSource() == BlueButton){
    
    
                contentPane.setBackground(Color.BLUE);
            }
        }
    }

}

Principal:

package com.itheima;
public class Main {
    
    
    public static void main(String[] args) {
    
    
        MyFrame myFrame = new MyFrame();
        myFrame.setBounds(100,100,280,150);
        myFrame.setTitle("内部类的简单应用");

    }
}

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
La ventaja de la clase interna es que puede usar directamente las propiedades y métodos definidos por la clase externa, incluso si son privados, un poco como una clase amiga de C ++.

Supongo que te gusta

Origin blog.csdn.net/weixin_48180029/article/details/112062704
Recomendado
Clasificación