package itheima008; import javax.swing.*; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import java.awt.*; public class JSplitpaneDemo { public static void main(String[] args) { new JSplitpaneDemo().init(); } JFrame jf = new JFrame("打开JSpilicpane创建分割面板"); Book[] books = {new Book("java实战", new ImageIcon("."), "java实战教学"), new Book("java实战2", new ImageIcon("myawt\\img\\tb.jpg"), "java实战教学2"), new Book("java实战3", new ImageIcon("myawt\\img\\tb.jpg"), "java实战教学3"),}; JLabel bookcover = new JLabel(); JTextArea bookdesc = new JTextArea(); JList<Book> booklist = new JList<>(books); private void init() { booklist.setPreferredSize(new Dimension(150,700)); bookdesc.setPreferredSize(new Dimension(440,90)); bookcover.setPreferredSize(new Dimension(440,610)); booklist.addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { Book book = booklist.getSelectedValue(); bookcover.setIcon(book.getIcon()); bookdesc.setText(book.getDesc()); } }); JSplitPane left = new JSplitPane(JSplitPane.VERTICAL_SPLIT, bookcover, new JScrollPane(bookdesc)); left.setOneTouchExpandable(true); JSplitPane hor=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,left,booklist); hor.setContinuousLayout(true); hor.setDividerSize(10); jf.add(hor); jf.pack(); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setVisible(true); } }