package test.object;
import java.awt.Canvas;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTextArea;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class TextMain {
public static void main(String[] args) {
new TextMain().init();
}
public void init() {
Book[] book = {
new Book("JAVA自学宝典", new ImageIcon("D:\\Image\\1631942921354.gif"), "这是一本编程好书,国内关于java的好书\n看得懂,学得会"),
new Book("轻量级JAVAEE企业应用实战", new ImageIcon("D:\\Image\\1634200844888.jpg"), "SMM整合开发的经典图书,值得拥有"),
new Book("轻量级web企业应用实战", new ImageIcon("D:\\Image\\1631942921354.gif"),
"这是一本编程好书,国内关于java的好书\n看得懂,学得会"),
new Book("轻量级dddd企业应用实战", new ImageIcon("D:\\Image\\1635245599465.gif"), "SMM整合开发的经典图书,值得拥有") };
JFrame jFrame = new JFrame();
// 生命组件
JList<Book> list = new JList<>(book);
JLabel booCover = new JLabel();
JTextArea jTextArea = new JTextArea();
list.setPreferredSize(new Dimension(150, 400));
booCover.setPreferredSize(new Dimension(220, 270));
jTextArea.setPreferredSize(new Dimension(220, 130));
list.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
// 获取当前选中的是那个项目
Book book = list.getSelectedValue();
// 把书记的图片用bookCover展示
booCover.setIcon(book.getIcon());
// 把书籍的描述用bookDesc展示
jTextArea.setText(book.getDesc());
}
});
// 组装左视图
JSplitPane jSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, booCover, new JScrollPane(jTextArea));
// 支持一触即展特性
jSplitPane.setOneTouchExpandable(true);
// 组装整体
JSplitPane jSplitPane2 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, jSplitPane, list);
// 支持连续布局(连续刷新布局)
jSplitPane2.setContinuousLayout(true);
jFrame.add(jSplitPane2);
jFrame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
jFrame.pack();
jFrame.setVisible(true);
}
BufferedImage image;
class MyImage extends Canvas {
@Override
public void paint(Graphics g) {
g.drawImage(image, 0, 0, null);
}
}
}
image.png
网友评论