夏季小学期day02——JAVA(java.swing)

这里写图片描述

package mdi;

import java.awt.Component;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.ImageObserver;

public class ImgButton extends Component{
    private int type = 0;
    private String text;
    Image img;
    public ImgButton(int type, String text) {
        super();
        this.type = type;
        this.text = text;
        img = Toolkit.getDefaultToolkit().getImage(getClass().getResource("v2-c826d13c8b63bd415ad594d4d5780094_fhd.jpg"));
    }
    @Override
    public void paint(Graphics g) {
        g.drawImage(img, 0, 0, getWidth(), getHeight(), 0, 0, img.getWidth(this), img.getHeight(this), this);
        g.setFont(new Font("宋体", 0, 30));
        g.drawString(text, 40, 20);
    }

}
package mdi;

import javax.swing.JInternalFrame;

public class MdiChildren extends JInternalFrame{
    public MdiChildren() {
        setSize(300, 300);
        setDefaultCloseOperation(JInternalFrame.DISPOSE_ON_CLOSE);
        setMaximizable(true);
        setClosable(true);
        setVisible(true);
    }
}
package mdi;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;

public class Main extends JFrame{
    public static void main(String[] args) {
        new Main();
    }
    JDesktopPane desktop = new JDesktopPane();
    JPanel left = new JPanel(new FlowLayout(0, 20, 20));
    public Main() {
        setSize(500, 400);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(3);

        JMenuBar bar = new JMenuBar();
        JMenu m1 = new JMenu("文件");
        JMenuItem m11 = new JMenuItem("打开");
        m1.add(m11);
        bar.add(m1);
        setJMenuBar(bar);
        desktop.setBackground(Color.gray);
        setLayout(new BorderLayout());

        m11.addActionListener(act);

        left.setBackground(new Color(255, 128, 128));
        left.setPreferredSize(new Dimension(200, 0));
        for(int i = 0; i < 10; i++) {
            ImgButton b = new ImgButton(i, ""+i);
            b.setPreferredSize(new Dimension(160, 40));
            left.add(b);
        }
        add(left, BorderLayout.WEST);
        add(desktop, BorderLayout.CENTER);
        setVisible(true);
    }
    ActionListener act = new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            desktop.add(new MdiChildren());
        }
    };
}

效果图:
这里写图片描述

这里写图片描述

package myButton;

import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class MyButton extends Component implements MouseListener{
    public MyButton() {
        addMouseListener(this);
    }
    private boolean checked = false;
    public boolean isChecked() {
        return checked;
    }
    public void setChecked(boolean checked) {
        this.checked = checked;
        repaint();
    }
    @Override
    public void paint(Graphics g) {
        g.setColor(Color.red);
        g.fillRect(0, 0, getWidth(), getHeight());
        g.setColor(Color.YELLOW);
        double jg = getHeight()*0.15;
        if(!checked)
            g.fillOval((int)jg, (int)jg, (int)(getHeight()*0.7), (int)(getHeight()*0.7));
        else
            g.fillOval((int)(getWidth() - getHeight()*0.85), (int)jg, (int)(getHeight()*0.7), (int)(getHeight()*0.7));
    }
    @Override
    public void mouseClicked(MouseEvent e) {
        setChecked(!checked);
    }
    @Override
    public void mousePressed(MouseEvent e) {
        // TODO Auto-generated method stub

    }
    @Override
    public void mouseReleased(MouseEvent e) {
        // TODO Auto-generated method stub

    }
    @Override
    public void mouseEntered(MouseEvent e) {
        // TODO Auto-generated method stub

    }
    @Override
    public void mouseExited(MouseEvent e) {
        // TODO Auto-generated method stub

    }
}
package myButton;

import javax.swing.JFrame;

public class Win extends JFrame{
    public Win() {
        setSize(400, 300);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(null);
        MyButton bt = new MyButton();
        bt.setSize(100, 40);
        add(bt);
        setVisible(true);
    }
}
package myButton;

public class Main {
    public static void main(String[] args) {
        new Win();
    }
}

效果图:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_39557517/article/details/81950803
今日推荐