Commit | Line | Data |
---|---|---|
14bb95fa NR |
1 | package be.nikiroo.fanfix.reader.ui; |
2 | ||
3 | import java.awt.BorderLayout; | |
4 | import java.awt.Color; | |
5 | import java.awt.Font; | |
6 | import java.util.List; | |
7 | import java.util.Map.Entry; | |
8 | ||
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; | |
16 | ||
17 | import be.nikiroo.fanfix.data.MetaData; | |
18 | import be.nikiroo.fanfix.reader.BasicReader; | |
19 | import be.nikiroo.fanfix.reader.Reader; | |
20 | ||
21 | public class GuiReaderPropertiesFrame extends JFrame { | |
22 | private static final long serialVersionUID = 1L; | |
23 | ||
24 | public GuiReaderPropertiesFrame(Reader reader, MetaData meta) { | |
25 | // Borders | |
26 | int top = 20; | |
27 | int space = 10; | |
28 | ||
29 | // Image | |
30 | ImageIcon img = GuiReaderCoverImager.generateCoverIcon( | |
31 | reader.getLibrary(), meta); | |
32 | ||
33 | // frame | |
34 | setTitle(meta.getLuid() + ": " + meta.getTitle()); | |
35 | ||
36 | setSize(800, img.getIconHeight() + 2 * top); | |
37 | setLayout(new BorderLayout()); | |
38 | ||
39 | // Main panel | |
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, | |
45 | BoxLayout.Y_AXIS)); | |
46 | ||
47 | mainPanel.add(mainPanelKeys, BorderLayout.WEST); | |
48 | mainPanel.add(mainPanelValues, BorderLayout.CENTER); | |
49 | ||
50 | List<Entry<String, String>> infos = BasicReader.getMetaDesc(meta); | |
51 | ||
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); | |
61 | ||
62 | JTextArea value = new JTextArea(info.getValue()); | |
63 | value.setEditable(false); | |
64 | value.setLineWrap(false); | |
65 | value.setBackground(trans); | |
66 | mainPanelValues.add(value); | |
67 | } | |
68 | ||
69 | // Image | |
70 | JLabel imgLabel = new JLabel(img); | |
71 | imgLabel.setVerticalAlignment(JLabel.TOP); | |
72 | ||
73 | // Borders | |
74 | mainPanelKeys.setBorder(BorderFactory.createEmptyBorder(top, space, 0, | |
75 | 0)); | |
76 | mainPanelValues.setBorder(BorderFactory.createEmptyBorder(top, space, | |
77 | 0, 0)); | |
78 | imgLabel.setBorder(BorderFactory.createEmptyBorder(0, space, 0, 0)); | |
79 | ||
80 | // Add all | |
81 | add(imgLabel, BorderLayout.WEST); | |
82 | add(mainPanel, BorderLayout.CENTER); | |
83 | } | |
84 | } |