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() ; } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。