效果图
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() ;
}
}