標籤:
import java.awt.* ;import java.awt.event.* ;import javax.swing.event.* ;import java.util.Scanner;import javax.swing.* ;class Book{ private String name ;private Icon icon ;private String desc ;public Book(String name,Icon icon,String desc){ this.name = name ;this.icon = icon ;this.desc = desc ;}public String getName(){ return this.name ;}public Icon getIcon(){ return this.icon ;}public String getDesc(){ return this.desc ;}public String toString(){ return this.name ;}} ;class Gui{ Book[] books = new Book[]{new Book("圖書1",new ImageIcon("1.jpg"),"快看那個傻逼") ,new Book("圖書2",new ImageIcon("2.jpg"),"你和身份證上一模一樣") ,new Book("圖書3",new ImageIcon("3.jpg"),"你活的真有勇氣!") } ; JFrame frame = new JFrame("簡介書庫") ; JList bookList = new JList(books) ; JLabel bookCover = new JLabel() ; JTextArea bookDesc = new JTextArea() ; public void init() { bookList.setPreferredSize(new Dimension(150,300)) ; bookCover.setPreferredSize(new Dimension(400,400)) ; bookDesc.setPreferredSize(new Dimension(300,150)) ; bookList.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent event) { Book book = (Book)bookList.getSelectedValue() ;bookCover.setIcon(book.getIcon()) ;bookDesc.setText(book.getDesc()) ;//bookDesc.setFontSize(50) ; } }) ; JSplitPane left = new JSplitPane(JSplitPane.VERTICAL_SPLIT,true,bookCover,bookDesc) ; left.setOneTouchExpandable(true) ; left.resetToPreferredSizes() ; JSplitPane content = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,left,bookList) ; frame.add(content) ; frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ; frame.pack() ; frame.setVisible(true) ; }} ;class Tester{ public static void main(String args[]) { new Gui().init() ; }}
JSplitPane分隔線的用法