可以用事件处理来做啊,2各家一样的事件
这个做地不好看,只是实现效果, 你可以再调整间距、贴图片……================= demo.java ====================================
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;public class demo extends JFrame {
    private JPanel pn = new JPanel();
    private JButton z = new JButton("左边");
    private JButton y = new JButton("右边");
    
    private JButton q1 = new JButton("其它1");
    private JButton q2 = new JButton("其它2");
    private JButton q3 = new JButton("其它3");
    private JButton q4 = new JButton("其它4");
    private JButton q5 = new JButton("其它5");
    
    public demo() {
        pn.add(q1);
        pn.add(z);
        pn.add(y);
        pn.add(q2);
        pn.add(q3);
        pn.add(q4);
        pn.add(q5);
        
        z.setBorder(null);
        y.setBorder(null);
        q1.setBorder(null);
        q2.setBorder(null);
        q3.setBorder(null);
        q4.setBorder(null);
        q5.setBorder(null);
        
        getContentPane().add(pn);
        
        z.addMouseListener(new MouseAdapter() {
            public void mouseEntered(MouseEvent e) {
                z.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
                y.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
            }
            
            public void mouseExited(MouseEvent e) {
                z.setBorder(null);
                y.setBorder(null);
            }
        });
        
        y.addMouseListener(new MouseAdapter() {
            public void mouseEntered(MouseEvent e) {
                z.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
                y.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
            }
            
            public void mouseExited(MouseEvent e) {
                z.setBorder(null);
                y.setBorder(null);
            }
        });
        
        pack();
        show();
    }
    
    public static void main(String args[]) {
        new demo();
    }
}