import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class jpanel extends JFrame {
//滚动条设置部分
public jpanel()
{
this.setTitle("测试");
// this.setLayout(null); 不要加
this.setDefaultCloseOperation(jpanel.DISPOSE_ON_CLOSE);
Container c = getContentPane();//必须要 表示获取整个窗体JFrame
c.setLayout(null);
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(300,500));
panel.setBackground(new Color(0,0,0,0));
// panel.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
Jpanel_1 jpanel_1 = new Jpanel_1();
jpanel_1.setBackground(Color.cyan);
JScrollPane jScrollPane = new JScrollPane(jpanel_1);
// jpanel_1.setPreferredSize(new Dimension(300,300));
jpanel_1.setLayout(new BoxLayout(jpanel_1, BoxLayout.Y_AXIS));
jScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
panel.setBounds(0,10,300,500);
jScrollPane.setPreferredSize(new Dimension(300,500));
panel.add(jScrollPane);
c.add(panel);
this.setSize(320, 550);
this.setLocation(200, 200);
this.setVisible(true);
//这个的加
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public static void main(String[] args) {
new jpanel();
}
public class Jpanel_1 extends JPanel
{
public Jpanel_1()
{
this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
JPanel panel = new JPanel();
panel.setLayout(null);
JLabel label1 = new JLabel("a");
label1.setForeground(Color.green);
label1.setBackground(Color.red);
label1.setOpaque(true);
label1.setSize(10,10);
label1.setLocation(10,10);
panel.setPreferredSize(new Dimension(100,30));
panel.setBackground(Color.white);
panel.add(label1);
this.add(panel);
JPanel[] label = new JPanel[20];
for (int i =0 ;i<20;i++) {
paint(label[i],i);
}
}
public void paint(JPanel panel,int i)
{
panel=new JPanel();
panel.setBackground(Color.white);
panel.setPreferredSize(new Dimension(100,30));
// System.out.println(jLabel);
JLabel label1 = new JLabel(i+"a");
label1.setForeground(Color.green);
label1.setBackground(Color.red);
label1.setOpaque(true);
label1.setSize(30,10);
// jLabel.setLocation(10,10);
this.add(Box.createRigidArea(new Dimension(0, 10)));
panel.add(label1);
JPanel finalPanel = panel;
panel.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
// TODO 自动生成的方法存根
super.mousePressed(e);
super.mousePressed(e);
// System.out.println((b++));
label1.setText("别按我");
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO 自动生成的方法存根
super.mouseEntered(e);
// System.out.println("我是进去");
finalPanel.setBackground(new Color(20,160,100));
}
@Override
public void mouseExited(MouseEvent e) {
// TODO 自动生成的方法存根
super.mouseExited(e);
// System.out.println("我是离开");
finalPanel.setBackground(Color.white);
}
});
Jpanel_1.this.add(panel);
setVisible(true);
}
}
}