root/BH13SPARQLBuilder/src/hozo/sparql/gui/TripleEditDialog.java @ 240

リビジョン 17, 7.4 KB (コミッタ: kozaki, 11 年 前)

Commitし直します.

  • 属性 svn:mime-type の設定値 text/plain
行番号 
1package hozo.sparql.gui;
2
3import javax.swing.Box;
4import javax.swing.BoxLayout;
5import javax.swing.JDialog;
6
7import com.hp.hpl.jena.rdf.model.Model;
8import com.hp.hpl.jena.rdf.model.RDFNode;
9import com.hp.hpl.jena.rdf.model.impl.ResourceImpl;
10
11import javax.swing.JPanel;
12
13import java.awt.Component;
14import java.awt.GridBagLayout;
15import java.awt.Dimension;
16import javax.swing.JTextField;
17import java.awt.GridBagConstraints;
18import javax.swing.JLabel;
19import java.awt.Insets;
20import java.awt.event.ActionEvent;
21import java.awt.event.ActionListener;
22
23import javax.swing.JButton;
24
25public class TripleEditDialog extends JDialog {
26
27        /**
28         *
29         */
30        private static final long serialVersionUID = -8353265680791711240L;
31        private RDFNode s;
32        private RDFNode p;
33        private RDFNode o;
34        private Model model;
35        private JPanel mainPanel = null;
36        private JTextField subjectTextField = null;
37        private JTextField propertyTextField = null;
38        private JTextField objectTextField = null;
39        private JLabel subjectLabel = null;
40        private JLabel propertyLabel = null;
41        private JLabel objectLabel = null;
42        private JPanel buttonPanel = null;
43        private JButton okButton = null;
44        private JButton cancelButton = null;
45       
46        public boolean ok = false;
47       
48        public TripleEditDialog(RDFNode s, RDFNode p, RDFNode o, Model model){
49                this.s = s;
50                this.p = p;
51                this.o = o;
52                this.model = model;
53                initialize();
54
55                this.getSubjectTextField().setText(s.toString());
56                this.getPropertyTextField().setText(p.toString());
57                if (o != null){
58                        this.getObjectTextField().setText(o.toString());
59                }
60                this.setModal(true);
61        }
62       
63        public RDFNode getSubject(){
64                if (s == null && this.getSubjectTextField().getText().isEmpty()){
65                        return null;
66                }
67
68                if (s != null && s.toString().equals(this.getSubjectTextField().getText())){
69                        return s;
70                }
71               
72                return getRDFNodeFromString(this.getSubjectTextField().getText());
73        }
74
75        public RDFNode getProperty(){
76                if (p == null && this.getPropertyTextField().getText().isEmpty()){
77                        return null;
78                }
79
80                if (p != null && p.toString().equals(this.getPropertyTextField().getText())){
81                        return p;
82                }
83               
84                return getRDFNodeFromString(this.getPropertyTextField().getText());
85        }
86
87        public RDFNode getObject(){
88                if (o == null && this.getObjectTextField().getText().isEmpty()){
89                        return null;
90                }
91               
92                if (o != null && o.toString().equals(this.getObjectTextField().getText())){
93                        return o;
94                }
95               
96                return getRDFNodeFromString(this.getObjectTextField().getText());
97        }
98
99        private RDFNode getRDFNodeFromString(String str){
100                if (str.startsWith("http://")){
101                        ResourceImpl ri = new ResourceImpl(str);
102                        return ri;
103                }
104               
105                return model.createLiteral(str);
106               
107        }
108
109        /**
110         * This method initializes this
111         *
112         */
113        private void initialize() {
114                this.setSize(new Dimension(999, 157));
115                this.setContentPane(getMainPanel());
116        }
117        /**
118         * This method initializes mainPanel   
119         *     
120         * @return javax.swing.JPanel   
121         */
122        private JPanel getMainPanel() {
123                if (mainPanel == null) {
124                        GridBagConstraints gridBagConstraints6 = new GridBagConstraints();
125                        gridBagConstraints6.gridx = 2;
126                        gridBagConstraints6.fill = GridBagConstraints.HORIZONTAL;
127                        gridBagConstraints6.gridy = 2;
128                        GridBagConstraints gridBagConstraints5 = new GridBagConstraints();
129                        gridBagConstraints5.gridx = 2;
130                        gridBagConstraints5.gridy = 0;
131                        objectLabel = new JLabel();
132                        objectLabel.setText("Object");
133                        GridBagConstraints gridBagConstraints4 = new GridBagConstraints();
134                        gridBagConstraints4.gridx = 1;
135                        gridBagConstraints4.gridy = 0;
136                        propertyLabel = new JLabel();
137                        propertyLabel.setText("Property");
138                        GridBagConstraints gridBagConstraints3 = new GridBagConstraints();
139                        gridBagConstraints3.gridx = 0;
140                        gridBagConstraints3.gridy = 0;
141                        subjectLabel = new JLabel();
142                        subjectLabel.setText("Subject");
143                        GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
144                        gridBagConstraints2.fill = GridBagConstraints.HORIZONTAL;
145                        gridBagConstraints2.gridy = 1;
146                        gridBagConstraints2.weightx = 1.0;
147                        gridBagConstraints2.insets = new Insets(0, 10, 0, 10);
148                        gridBagConstraints2.gridx = 2;
149                        GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
150                        gridBagConstraints1.fill = GridBagConstraints.HORIZONTAL;
151                        gridBagConstraints1.gridy = 1;
152                        gridBagConstraints1.weightx = 1.0;
153                        gridBagConstraints1.insets = new Insets(0, 10, 0, 10);
154                        gridBagConstraints1.gridx = 1;
155                        GridBagConstraints gridBagConstraints = new GridBagConstraints();
156                        gridBagConstraints.fill = GridBagConstraints.HORIZONTAL;
157                        gridBagConstraints.gridy = 1;
158                        gridBagConstraints.weightx = 1.0;
159                        gridBagConstraints.insets = new Insets(0, 10, 0, 10);
160                        gridBagConstraints.gridx = 0;
161                        mainPanel = new JPanel();
162                        mainPanel.setLayout(new GridBagLayout());
163                        mainPanel.add(getSubjectTextField(), gridBagConstraints);
164                        mainPanel.add(getPropertyTextField(), gridBagConstraints1);
165                        mainPanel.add(getObjectTextField(), gridBagConstraints2);
166                        mainPanel.add(subjectLabel, gridBagConstraints3);
167                        mainPanel.add(propertyLabel, gridBagConstraints4);
168                        mainPanel.add(objectLabel, gridBagConstraints5);
169                        mainPanel.add(getButtonPanel(), gridBagConstraints6);
170                }
171                return mainPanel;
172        }
173
174        /**
175         * This method initializes subjectTextField     
176         *     
177         * @return javax.swing.JTextField       
178         */
179        private JTextField getSubjectTextField() {
180                if (subjectTextField == null) {
181                        subjectTextField = new JTextField();
182                        subjectTextField.setEditable(false);
183                }
184                return subjectTextField;
185        }
186
187        /**
188         * This method initializes propertyTextField   
189         *     
190         * @return javax.swing.JTextField       
191         */
192        private JTextField getPropertyTextField() {
193                if (propertyTextField == null) {
194                        propertyTextField = new JTextField();
195                }
196                return propertyTextField;
197        }
198
199        /**
200         * This method initializes objectTextField     
201         *     
202         * @return javax.swing.JTextField       
203         */
204        private JTextField getObjectTextField() {
205                if (objectTextField == null) {
206                        objectTextField = new JTextField();
207                }
208                return objectTextField;
209        }
210
211        /**
212         * This method initializes buttonPanel 
213         *     
214         * @return javax.swing.JPanel   
215         */
216        private JPanel getButtonPanel() {
217                if (buttonPanel == null) {
218                        buttonPanel = new JPanel();
219                        buttonPanel.setLayout(new BoxLayout(buttonPanel,  BoxLayout.LINE_AXIS));
220                        buttonPanel.setAlignmentX(Component.RIGHT_ALIGNMENT);
221                        buttonPanel.add(getOkButton());
222                        buttonPanel.add(Box.createRigidArea(new Dimension(10, 10)));
223                        buttonPanel.add(getCancelButton());
224                }
225                return buttonPanel;
226        }
227
228        /**
229         * This method initializes okButton     
230         *     
231         * @return javax.swing.JButton 
232         */
233        private JButton getOkButton() {
234                if (okButton == null) {
235                        okButton = new JButton("OK");
236                        okButton.addActionListener(new ActionListener() {
237                               
238                                @Override
239                                public void actionPerformed(ActionEvent arg0) {
240                                        ok = true;
241                                        setVisible(false);
242                                }
243                        });
244                }
245                return okButton;
246        }
247
248        /**
249         * This method initializes cancelButton
250         *     
251         * @return javax.swing.JButton 
252         */
253        private JButton getCancelButton() {
254                if (cancelButton == null) {
255                        cancelButton = new JButton("CANCEL");
256                        cancelButton.addActionListener(new ActionListener() {
257                               
258                                @Override
259                                public void actionPerformed(ActionEvent e) {
260                                        ok = false;
261                                        setVisible(false);
262                                }
263                        });
264                }
265                return cancelButton;
266        }
267       
268}  //  @jve:decl-index=0:visual-constraint="86,101"
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。