swooppreferences.java
来自「Semantic Web Ontology Editor」· Java 代码 · 共 506 行 · 第 1/2 页
JAVA
506 行
//The MIT License//// Copyright (c) 2004 Mindswap Research Group, University of Maryland, College Park//// Permission is hereby granted, free of charge, to any person obtaining a copy// of this software and associated documentation files (the "Software"), to// deal in the Software without restriction, including without limitation the// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or// sell copies of the Software, and to permit persons to whom the Software is// furnished to do so, subject to the following conditions://// The above copyright notice and this permission notice shall be included in// all copies or substantial portions of the Software.//// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS// IN THE SOFTWARE.package org.mindswap.swoop.utils;import java.awt.BorderLayout;import java.awt.Container;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.Set;import java.util.Timer;import javax.swing.Box;import javax.swing.ButtonGroup;import javax.swing.JButton;import javax.swing.JCheckBox;import javax.swing.JComboBox;import javax.swing.JDialog;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JRadioButton;import javax.swing.JTextField;import javax.swing.border.EtchedBorder;import org.mindswap.swoop.Swoop;import org.mindswap.swoop.SwoopFrame;import org.mindswap.swoop.SwoopModel;/** * @author Aditya Kalyanpur * */public class SwoopPreferences extends JDialog { SwoopFrame swoopHandler; SwoopModel swoopModel; JRadioButton srcPref1, srcPref2, srcPref3, srcPref4; Font tahoma = new Font("Tahoma", Font.PLAIN, 12); Font tahomaB = new Font("Tahoma", Font.BOLD, 12); JLabel langLbl; JButton saveBtn, cancelBtn; JCheckBox iconChk, divChk, codeSelChk, savePtDiskChk, pointChk, logChangesChk, autoRetChk, openLastChk, viewOWLVocabularyAsRDFChk, viewRDFVocabularyAsRDFChk, useLabelChk, useProxyChk, saveWkspcChk; JRadioButton rdfxmlRadio, javaRadio; JTextField countFld, userNameFld, proxyHostFld, proxyPortFld, saveWkspcFileFld, saveWkspcTimeFld; JComboBox fontsBox, fontSizeBox, reasonerBox, langBox; public SwoopPreferences(SwoopFrame handler, SwoopModel swoopModel) { this.swoopHandler = handler; this.swoopModel = swoopModel; setModal(true); setupUI(); loadPreferences(); } private String getFontSizeDisplay() { switch (Integer.parseInt(swoopModel.getFontSize())) { case 1: return "Very Small"; case 2: return "Small"; case 3: return "Medium"; case 4: return "Large"; case 5: return "Very Large"; } return "Medium"; } public void loadPreferences() { // update UI based on current preference values iconChk.setSelected(swoopModel.getShowIcons()); divChk.setSelected(swoopModel.getShowDivisions()); fontSizeBox.setSelectedItem(this.getFontSizeDisplay()); fontsBox.setSelectedItem(swoopModel.getFontFace()); countFld.setText(" "+swoopModel.getTreeThreshold()+" "); codeSelChk.setSelected(swoopModel.isHighlightCode()); useLabelChk.setSelected(swoopModel.getUseLabels()); boolean found = false; for (int i=0; i<langBox.getItemCount(); i++) { String l = langBox.getItemAt(i).toString(); if (l.startsWith(swoopModel.getUseLanguage())) { langBox.setSelectedIndex(i); found = true; break; } } if (!found) { langBox.addItem(swoopModel.getUseLanguage()); langBox.setSelectedItem(swoopModel.getUseLanguage()); } langLbl.setEnabled(useLabelChk.isSelected()); langBox.setEnabled(useLabelChk.isSelected()); HashMap reasMap = swoopModel.getReasonerMap(); reasonerBox.removeAllItems(); for (Iterator iter = reasMap.keySet().iterator(); iter.hasNext();) { String name = iter.next().toString(); reasonerBox.addItem(name); } reasonerBox.setSelectedItem(swoopModel.getDefaultReasoner().getName()); // load general settings userNameFld.setText(swoopModel.getUserName()); openLastChk.setSelected(swoopModel.isOpenLastWorkspace()); saveWkspcChk.setSelected(swoopModel.isAutoSaveWkspc()); saveWkspcFileFld.setText(swoopModel.getSaveWkspcFile()); saveWkspcTimeFld.setText(String.valueOf(swoopModel.getSaveWkspcTime())); useProxyChk.setSelected(swoopModel.getUseHTTPProxy()); proxyHostFld.setEnabled(swoopModel.getUseHTTPProxy()); proxyPortFld.setEnabled(swoopModel.getUseHTTPProxy()); proxyHostFld.setText(swoopModel.getProxyHost()); proxyPortFld.setText(swoopModel.getProxyPort()); logChangesChk.setSelected(swoopModel.isLogChanges()); pointChk.setEnabled(logChangesChk.isSelected()); pointChk.setSelected(swoopModel.getEnableAutoSaveChkPts()); if (Swoop.isWebStart()) savePtDiskChk.setEnabled(false); savePtDiskChk.setSelected(swoopModel.isSaveCheckPtsDisk()); autoRetChk.setSelected(swoopModel.getEnableAutoRetrieve()); viewOWLVocabularyAsRDFChk.setSelected( swoopModel.isViewOWLVocabularyAsRDF() ); viewRDFVocabularyAsRDFChk.setSelected( swoopModel.isViewRDFVocabularyAsRDF() ); if (swoopModel.getChangeSharingMethod()==SwoopModel.RDFXML_SER) rdfxmlRadio.setSelected(true); else if (swoopModel.getChangeSharingMethod()==SwoopModel.JAVA_SER) javaRadio.setSelected(true); } private void savePreferences() { // save UI prefs swoopModel.setShowIcons(iconChk.isSelected(), true); swoopModel.setShowDivisions(divChk.isSelected()); String size = String.valueOf(fontSizeBox.getSelectedIndex()+1); swoopModel.setFontFace(fontsBox.getSelectedItem().toString(), false); if (size.equals("")) size = "2"; if (Integer.parseInt(size)<=0) size = "2"; swoopModel.setFontSize(size); String count = countFld.getText().trim(); if (count.equals("")) count = "200"; if (Integer.parseInt(count)<=0) count = "200"; swoopModel.setTreeThreshold(count); swoopModel.setHighlightCode(codeSelChk.isSelected()); swoopModel.setUseLabels(useLabelChk.isSelected()); if (langBox.getSelectedIndex() >=0) { String langFld = langBox.getSelectedItem().toString(); if (langFld.indexOf("(")>=0) langFld = langFld.substring(0, langFld.indexOf("(")).trim(); swoopModel.setUseLanguage(langFld); } // save general prefs swoopModel.setUserName(userNameFld.getText()); swoopModel.setOpenLastWorkspace(openLastChk.isSelected()); swoopModel.setAutoSaveWkspc(saveWkspcChk.isSelected()); swoopModel.setSaveWkspcFile(saveWkspcFileFld.getText()); float time = Float.parseFloat(saveWkspcTimeFld.getText()); swoopModel.setSaveWkspcTime(time); swoopModel.setHTTPProxy(useProxyChk.isSelected(), proxyHostFld.getText(), proxyPortFld.getText()); swoopModel.setDefaultReasoner(swoopModel.getReasonerMap(reasonerBox.getSelectedItem().toString())); swoopModel.setLogChanges(logChangesChk.isSelected()); swoopModel.setEnableAutoSaveChkPts(pointChk.isSelected(), true); swoopModel.setSaveCheckPtsDisk(savePtDiskChk.isSelected()); swoopModel.setEnableAutoRetrieve(autoRetChk.isSelected()); swoopModel.setViewOWLVocabularyAsRDF( viewOWLVocabularyAsRDFChk.isSelected() ); swoopModel.setViewRDFVocabularyAsRDF( viewRDFVocabularyAsRDFChk.isSelected() ); if (rdfxmlRadio.isSelected()) swoopModel.setChangeSharingMethod(SwoopModel.RDFXML_SER); else swoopModel.setChangeSharingMethod(SwoopModel.JAVA_SER); // also save preferences to disk! swoopModel.savePreferences(); } private void setupUI() { Container content = getContentPane(); content.setLayout(new BorderLayout()); // setup UI options panel JPanel uiPanel = new JPanel(); uiPanel.setLayout(new BorderLayout()); JLabel uiPrefLbl = new JLabel(" UI Options"); uiPrefLbl.setFont(tahomaB); uiPanel.add(uiPrefLbl, "North"); iconChk = new JCheckBox("Show Icons in Entity Pane (Ctrl-I)"); iconChk.setFont(tahoma); divChk = new JCheckBox("Show Divisions in Entity Pane (Ctrl-D)"); divChk.setFont(tahoma); JLabel fontSizeLbl = new JLabel(" Rendered Text Font Size: "); fontSizeLbl.setFont(tahoma); JPanel sizePanel = new JPanel(); sizePanel.setLayout(new BorderLayout()); sizePanel.add(fontSizeLbl, "Center"); fontSizeBox = new JComboBox(); fontSizeBox.setFont(tahoma); fontSizeBox.addItem("Very Small"); fontSizeBox.addItem("Small"); fontSizeBox.addItem("Medium"); fontSizeBox.addItem("Large"); fontSizeBox.addItem("Very Large"); sizePanel.add(fontSizeBox, "East"); fontsBox = new JComboBox(); fontsBox.addItem("Ariel"); fontsBox.addItem("Comic Sans MS"); fontsBox.addItem("Courier New"); fontsBox.addItem("Sans Serif"); fontsBox.addItem("Tahoma"); fontsBox.addItem("Times New Roman"); fontsBox.addItem("Verdana"); fontsBox.setFont(tahoma); JPanel fontFacePanel = new JPanel(); fontFacePanel.setLayout(new BorderLayout()); fontFacePanel.add(fontsBox, "Center"); JLabel fontFaceLbl = new JLabel(" Font Face: "); fontFaceLbl.setFont(tahoma); fontFacePanel.add(fontFaceLbl, "West"); JPanel fontPanel = new JPanel(); fontPanel.setLayout(new GridLayout(1,2)); fontPanel.add(sizePanel); fontPanel.add(fontFacePanel); JLabel countLbl = new JLabel(" Expand Class/Property Tree fully when entity count is below this (Default 200)"); countLbl.setFont(tahoma); JPanel countPanel = new JPanel(); countPanel.setLayout(new BorderLayout()); countFld = new JTextField(); countFld.setFont(tahoma); countPanel.add(countFld, "West"); countPanel.add(countLbl, "Center");
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?