Source code: org/ydp/ui/OptionsGui.java
1 package org.ydp.ui;
2
3 import javax.swing.*;
4 import javax.swing.event.*;
5 import java.awt.*;
6 import java.awt.event.*;
7
8 public class OptionsGui extends JDialog implements ActionListener, CaretListener {
9 Options options;
10
11 public OptionsGui() {
12 }
13
14 public OptionsGui(Options opt) {
15 options = opt;
16 setupGui();
17 }
18
19 private void setupGui() {
20 setModal(true);
21 setTitle("Preferences");
22 setResizable(false);
23 getContentPane().setLayout(new BorderLayout());
24
25 addSpacers(getContentPane());
26 addTabs();
27 pack();
28 show();
29 }
30
31 private void addSpacers(Container p) {
32 // support function to pad our border layouts
33 Box spacer;
34 spacer = Box.createHorizontalBox();
35 spacer.add(Box.createVerticalStrut(5));
36 p.add(spacer, "North");
37 spacer = Box.createHorizontalBox();
38 spacer.add(Box.createVerticalStrut(5));
39 p.add(spacer, "South");
40 spacer = Box.createVerticalBox();
41 spacer.add(Box.createHorizontalStrut(5));
42 p.add(spacer, "East");
43 spacer = Box.createVerticalBox();
44 spacer.add(Box.createHorizontalStrut(5));
45 p.add(spacer, "West");
46 }
47
48 private void addPadding(Container p) {
49 // support function to pad our grid layouts
50 JLabel label;
51 label = new JLabel(" ");
52 p.add(label);
53 label = new JLabel(" ");
54 p.add(label);
55 }
56
57 private void addTabs() {
58 JTabbedPane tabs = new JTabbedPane();
59 tabs.setTabPlacement(SwingConstants.TOP);
60
61 JPanel panel;
62 JPanel table;
63 JTextField text;
64 JLabel label;
65 JCheckBox checkbox;
66 JComboBox combo;
67 Box box;
68
69 panel = new JPanel(new BorderLayout());
70 addSpacers(panel);
71 table = new JPanel();
72 box = Box.createVerticalBox();
73 checkbox = new JCheckBox("Auto-generate thumbnails");
74 checkbox.addActionListener(this);
75 if(options.getMakeThumbs()) {
76 checkbox.setSelected(true);
77 }
78 else {
79 checkbox.setSelected(false);
80 }
81 box.add(checkbox);
82
83 label = new JLabel("Place to save thumbnails");
84 box.add(label);
85 text = new JTextField(options.getThumbPath());
86 text.addActionListener(this);
87 text.addCaretListener(this);
88 box.add(text);
89 table.add(box);
90
91 // addPadding(table);
92 // addPadding(table);
93 // addPadding(table);
94 // addPadding(table);
95 // addPadding(table);
96
97 panel.add(table, "Center");
98 tabs.addTab("Local Setup", panel);
99
100 panel = new JPanel(new BorderLayout());
101 addSpacers(panel);
102 table = new JPanel(new BorderLayout());
103 addPadding(table);
104 addPadding(table);
105 addPadding(table);
106 addPadding(table);
107 addPadding(table);
108 addPadding(table);
109
110 panel.add(table, "Center");
111 tabs.addTab("Network Setup", panel);
112
113 getContentPane().add(tabs, "Center");
114 }
115
116 public void actionPerformed(ActionEvent evt) {
117 }
118
119 public void caretUpdate(CaretEvent evt) {
120 }
121 }