【Java】【类和对象】内部类的简单应用

在图形用户界面,设置三个按钮,分别可以将背景颜色设置红色、绿色、蓝色。

在这里插入图片描述

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);
            }
        }
    }

}

Main:

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

    }
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
内部类的好处就是可以直接使用外部类定义的属性和方法,即使它们是私有的,有点C++友元类的味道。

猜你喜欢

转载自blog.csdn.net/weixin_48180029/article/details/112062704