OSDN Git Service

・ Linux上でのJTextAreaで日本語フォントが表示できない場合があった問題の修正
authorseraphy <seraphy@5b6e9025-a2e8-4882-b233-f889982098c5>
Mon, 7 Mar 2011 18:46:19 +0000 (18:46 +0000)
committerseraphy <seraphy@5b6e9025-a2e8-4882-b233-f889982098c5>
Mon, 7 Mar 2011 18:46:19 +0000 (18:46 +0000)
・ 設定ダイアログのボタンが切れているレイアウトの不備修正

git-svn-id: https://svn.sourceforge.jp/svnroot/charactermanaj/trunk@15 5b6e9025-a2e8-4882-b233-f889982098c5

CharacterManaJ.jar
resources/languages/profileditdialog.xml
resources/languages/profileditdialog_ja.xml
src/charactermanaj/Main.java
src/charactermanaj/ui/AppConfigDialog.java
src/charactermanaj/ui/ExportWizardDialog.java
src/charactermanaj/ui/ImportWizardDialog.java
src/charactermanaj/ui/ProfileEditDialog.java
src/charactermanaj/ui/ProfileSelectorDialog.java
src/charactermanaj/util/DesktopUtilities.java
src/charactermanaj/util/SetupLocalization.java

index 82b3cbd..80669ff 100644 (file)
Binary files a/CharacterManaJ.jar and b/CharacterManaJ.jar differ
index 5e55374..a8db57c 100644 (file)
@@ -9,7 +9,8 @@
        <entry key="confirm.changestructre">Are you sure you want to change the structure?</entry>\r
        <entry key="confirm.needchangerevision">Structure is changed. Is revision updated?</entry>\r
        <entry key="id.caption">ID:</entry>\r
-       <entry key="id.caption.help">The unique identifier to a character is specified here.</entry>\r
+       <entry key="id.caption.help"><![CDATA[<html>The unique identifier to a character is specified here.<br>\r
+       For example, "default" is the standard profile of the “character-nantoka-ki”.</html>]]></entry>\r
        <entry key="rev.caption.help">revision</entry>\r
        <entry key="rev.caption">Rev:</entry>\r
        <entry key="docbase.caption">Config:</entry>\r
index 645e695..772675d 100644 (file)
@@ -9,7 +9,8 @@
        <entry key="confirm.changestructre">構造が変更されます。よろしいですか?</entry>\r
        <entry key="confirm.needchangerevision">構造が変更されます。リビジョンを更新しますか?</entry>\r
        <entry key="id.caption">ID:</entry>\r
-       <entry key="id.caption.help">キャラクターセットごとにユニークな名前をつけます。英数字および記号のみ。</entry>\r
+       <entry key="id.caption.help"><![CDATA[<html>キャラクターセットごとにユニークな名前をつけます。英数字および記号のみ。<br>\r
+       たとえば、キャラクターなんとか機デフォルトパーツセット(Ver2)であれば「Default」とします。</html>]]></entry>\r
        <entry key="rev.caption.help">カテゴリやレイヤーの構造が変るたびに違う識別子を割り当てます。英数字および記号のみ。</entry>\r
        <entry key="rev.caption">Rev:</entry>\r
        <entry key="docbase.caption">設定ファイル:</entry>\r
index 8a717b6..c700e66 100644 (file)
@@ -1,11 +1,13 @@
 package charactermanaj;\r
 \r
+import java.awt.Font;\r
 import java.lang.reflect.InvocationTargetException;\r
 import java.lang.reflect.Method;\r
 import java.util.logging.Level;\r
 import java.util.logging.Logger;\r
 \r
 import javax.swing.SwingUtilities;\r
+import javax.swing.UIDefaults;\r
 import javax.swing.UIManager;\r
 \r
 import charactermanaj.model.AppConfig;\r
@@ -78,6 +80,16 @@ public final class Main implements Runnable {
                        // JSpliderのvalueを非表示 (GTKではデフォルトで有効のため)\r
                        UIManager.put("Slider.paintValue", Boolean.FALSE);\r
 \r
+                       // JTextAreaの既定フォントを固定幅から、標準テキストと同じフォントに変更.\r
+                       // (Linuxなどで固定幅フォントでは日本語フォントを持っていないため。)\r
+                       Object textFieldFontUI = UIManager.get("TextField.font");\r
+                       if (textFieldFontUI == null) {\r
+                               // もし無ければダイアログUIフォントを使う.(これは日本語をサポートするであろう。)\r
+                               textFieldFontUI = new UIDefaults.ProxyLazyValue(\r
+                                               "javax.swing.plaf.FontUIResource", null, new Object[] {\r
+                                                               "dialog", new Integer(Font.PLAIN), new Integer(12)});\r
+                       }\r
+                       UIManager.put("TextArea.font", textFieldFontUI);\r
                        \r
                        // アプリケーション設定の読み込み\r
                        AppConfig appConfig = AppConfig.getInstance();\r
index 8fc2d53..73ca41f 100644 (file)
@@ -109,20 +109,21 @@ public class AppConfigDialog extends JDialog {
                gbc.gridx = 0;\r
                gbc.gridy = 0;\r
                gbc.gridheight = 1;\r
-               gbc.gridwidth = 2;\r
-               gbc.anchor = GridBagConstraints.EAST;\r
-               gbc.fill = GridBagConstraints.BOTH;\r
+               gbc.gridwidth = 3;\r
+               gbc.anchor = GridBagConstraints.WEST;\r
+               gbc.fill = GridBagConstraints.NONE;\r
                gbc.insets = new Insets(3, 3, 3, 3);\r
                gbc.ipadx = 0;\r
                gbc.ipady = 0;\r
                gbc.weightx = 1.;\r
                gbc.weighty = 0.;\r
-               btnPanel.add(new JButton(actLocalization));\r
+               btnPanel.add(new JButton(actLocalization), gbc);\r
 \r
                gbc.gridx = 0;\r
                gbc.gridy = 1;\r
                gbc.gridheight = 1;\r
                gbc.gridwidth = 1;\r
+               gbc.fill = GridBagConstraints.BOTH;\r
                gbc.weightx = 1.;\r
                gbc.weighty = 0.;\r
                btnPanel.add(Box.createHorizontalGlue(), gbc);\r
@@ -222,7 +223,7 @@ public class AppConfigDialog extends JDialog {
                        setup.setupToLocal();\r
 \r
                        File resourceDir = setup.getResourceDir();\r
-                       DesktopUtilities.browse(resourceDir.toURI());\r
+                       DesktopUtilities.open(resourceDir);\r
 \r
                } catch (Exception ex) {\r
                        ErrorMessageHelper.showErrorDialog(this, ex);\r
index cefd0fa..e7c33eb 100644 (file)
@@ -630,7 +630,6 @@ class ExportInformationPanel extends AbstractImportPanel implements ExportInform
                gbc.weighty = 1.;\r
                gbc.weightx = 1.;\r
                txtDescription = new JTextArea();\r
-               txtDescription.setFont(getFont());\r
                commentPanel.add(new JScrollPane(txtDescription), gbc);\r
 \r
                ///\r
index dae890d..d7d4df5 100644 (file)
@@ -1345,7 +1345,6 @@ class ImportTypeSelectPanel extends ImportWizardCardPanel {
                gbc.weighty = 1.;\r
                gbc.weightx = 1.;\r
                txtDescription = new JTextArea(); // 説明は更新可能にしておく。\r
-               txtDescription.setFont(getFont());\r
                archiveInfoPanel.add(new JScrollPane(txtDescription), gbc);\r
 \r
                gbc.gridx = 0;\r
index 0e8babc..543382e 100644 (file)
@@ -352,7 +352,6 @@ public class ProfileEditDialog extends JDialog {
                this.txtImageHeight = new JSpinner(new SpinnerNumberModel(1, 1, 1024, 1));\r
                this.txtAuthor = new JTextField();\r
                this.txtDescription = new JTextArea();\r
-               this.txtDescription.setFont(getFont());\r
                \r
                gbc.gridx = 0;\r
                gbc.gridy = 0;\r
index 08499c6..5caed6c 100644 (file)
@@ -323,7 +323,6 @@ public class ProfileSelectorDialog extends JDialog {
                \r
                descriptionArea = new JTextArea();\r
                descriptionArea.setEditable(false);\r
-               descriptionArea.setFont(getFont());\r
                descriptionPanel.add(new JScrollPane(descriptionArea), BorderLayout.CENTER);\r
 \r
                // サンプルピクャパネル\r
index c80609c..461d4a4 100644 (file)
@@ -87,6 +87,9 @@ public class DesktopUtilities {
                        return false;\r
                }\r
                try {\r
+                       if (logger.isLoggable(Level.INFO)) {\r
+                               logger.log(Level.INFO, "invoke: " + method + "/arg=" + arg);\r
+                       }\r
                        method.invoke(desktopObj, arg);\r
                        return true;\r
 \r
index 22da0f0..edf193c 100644 (file)
@@ -118,7 +118,11 @@ public class SetupLocalization extends ResourceLoader {
         * @return リソースディレクトリ\r
         */\r
        public File getResourceDir() {\r
-               return new File(baseDir, DIRNAME_RESOURCES);\r
+               try {\r
+                       return new File(baseDir, DIRNAME_RESOURCES).getCanonicalFile();\r
+               } catch (Exception ex) {\r
+                       throw new RuntimeException(ex);\r
+               }\r
        }\r
        \r
        /**\r