Java Swingの本の第2章で提案されているように、プログラムをAWTからSwingに変更していますが、PanelからJPanelに変更すると、パネルが消えてしまいます。ButtonからJButtonに変更しても、同じことは起こりません。
名前にJを追加するだけで簡単にできるので、バグのようですが、VM(Sun JDK)とWM(Sun JDK)で問題がどこにあるのかわかりません。 xmonad)または私がプログラミングしている方法(ClojureのJavaサポート)。何か案が?
前に述べたように、私はそれをClojure(JDKのLispのような言語)で書いています。これが私のコードです:
(defn main [] (let [toolbar-frame(Frame。 "Toolbar Example(Swing)") カットボタン(JButton。「カット」) コピーボタン(JButton。「コピー」) 貼り付けボタン(JButton。「貼り付け」) java-button(JButton。 "Java") windows-button(JButton。 "Windows") mac-button(JButton。 "Mac") モチーフボタン(JButton。「モチーフ」) lnf-panel(JPanel。) ツールバーパネル(パネル) print-listener(プロキシ[ActionListener] [] (actionPerformed [evt] (.getActionCommand evt))) ] (.addWindowListenerツールバーフレーム (プロキシ[WindowAdapter] [] (windowClosing [e] (システム/出口0)))) ;(doto windows-button(.addActionListener lnf-listener)) ;(dotoモチーフボタン(.addActionListener lnf-listener)) ;(doto mac-button(.addActionListener lnf-listener)) ;(doto java-button(.addActionListener lnf-listener)) (dotoカットボタン(.addActionListener print-listener)) (doto copy-button(.addActionListener print-listener)) (doto Paste-button(.addActionListener print-listener)) (doto lnf-panel (.add windows-button) (.add java-button) (.add mac-button) (。モチーフボタンを追加) (.setLayout(FlowLayout。FlowLayout/ LEFT))) (dotoツールバー-パネル (カットボタンを追加) (。コピーボタンを追加) (。貼り付けボタンを追加) (.setLayout(FlowLayout。FlowLayout/ LEFT))) (dotoツールバーフレーム (.addツールバーパネルBorderLayout / NORTH) (.add lnf-panel BorderLayout / SOUTH) (.setSize 450 250) (.setVisible true))))
ありがとう