首页 > 代码库 > JSplitPane分隔线的用法

JSplitPane分隔线的用法

效果图


技术分享


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分隔线的用法