5a647de5a28d7080347626f4ea14588469154ea0
1 package be
.nikiroo
.fanfix
.reader
.ui
;
3 import java
.awt
.BorderLayout
;
7 import java
.util
.Map
.Entry
;
9 import javax
.swing
.BorderFactory
;
10 import javax
.swing
.BoxLayout
;
11 import javax
.swing
.ImageIcon
;
12 import javax
.swing
.JFrame
;
13 import javax
.swing
.JLabel
;
14 import javax
.swing
.JPanel
;
15 import javax
.swing
.JTextArea
;
17 import be
.nikiroo
.fanfix
.data
.MetaData
;
18 import be
.nikiroo
.fanfix
.reader
.BasicReader
;
19 import be
.nikiroo
.fanfix
.reader
.Reader
;
21 public class GuiReaderPropertiesFrame
extends JFrame
{
22 private static final long serialVersionUID
= 1L;
24 public GuiReaderPropertiesFrame(Reader reader
, MetaData meta
) {
30 ImageIcon img
= GuiReaderCoverImager
.generateCoverIcon(
31 reader
.getLibrary(), meta
);
34 setTitle(meta
.getLuid() + ": " + meta
.getTitle());
36 setSize(800, img
.getIconHeight() + 2 * top
);
37 setLayout(new BorderLayout());
40 JPanel mainPanel
= new JPanel(new BorderLayout());
41 JPanel mainPanelKeys
= new JPanel();
42 mainPanelKeys
.setLayout(new BoxLayout(mainPanelKeys
, BoxLayout
.Y_AXIS
));
43 JPanel mainPanelValues
= new JPanel();
44 mainPanelValues
.setLayout(new BoxLayout(mainPanelValues
,
47 mainPanel
.add(mainPanelKeys
, BorderLayout
.WEST
);
48 mainPanel
.add(mainPanelValues
, BorderLayout
.CENTER
);
50 List
<Entry
<String
, String
>> infos
= BasicReader
.getMetaDesc(meta
);
52 Color trans
= new Color(0, 0, 0, 1);
53 for (Entry
<String
, String
> info
: infos
) {
54 JTextArea key
= new JTextArea(info
.getKey());
55 key
.setFont(new Font(key
.getFont().getFontName(), Font
.BOLD
, key
56 .getFont().getSize()));
57 key
.setEditable(false);
58 key
.setLineWrap(false);
59 key
.setBackground(trans
);
60 mainPanelKeys
.add(key
);
62 JTextArea value
= new JTextArea(info
.getValue());
63 value
.setEditable(false);
64 value
.setLineWrap(false);
65 value
.setBackground(trans
);
66 mainPanelValues
.add(value
);
70 JLabel imgLabel
= new JLabel(img
);
71 imgLabel
.setVerticalAlignment(JLabel
.TOP
);
74 mainPanelKeys
.setBorder(BorderFactory
.createEmptyBorder(top
, space
, 0,
76 mainPanelValues
.setBorder(BorderFactory
.createEmptyBorder(top
, space
,
78 imgLabel
.setBorder(BorderFactory
.createEmptyBorder(0, space
, 0, 0));
81 add(imgLabel
, BorderLayout
.WEST
);
82 add(mainPanel
, BorderLayout
.CENTER
);