• ベストアンサー

JComboBoxのサイズ変更

(1)JComboBoxをツールバーを作りそこに追加してるんですがJComboBoxのサイズを変更することってできないんでしょうか?? 今のままだと画面のサイズと一緒に 幅が最大まで表示されてしまうんです。 (2)フォントの種類とサイズを別々変更したいんですが Font("",Font.PLAIN,15); を使うとFont.PLAINというフォントの種類と 15というフォントのサイズまで変更されてしまいます。 別々にフォントの種類だけ変更できるメソッドや フォントのサイズだけ変更できるメソッドって ないんでしょうか?? 色々探したんですが見つかりません(泣 どなたかお願いします!!

  • Java
  • 回答数4
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
noname#49664
noname#49664
回答No.3

>取り出した値を再利用 ってどういうことなんでしょうか?? 例えば、それまで設定していたFontインスタンスfontがあったとすると、 String n = font.getName(); Style s = font.getStyle(); Font font2 = new Font(n,s,24); こんな具合にすれば、フォントとスタイルが同じでサイズだけが24ポイントに変更されたFontが得られます。

その他の回答 (3)

  • sasadora
  • ベストアンサー率68% (59/86)
回答No.4

フォントの種類はわからないのですが、 サイズとスタイルだけを変えるのであれば、 Font#deriveFont(float size) Font#deriveFont(int style) が使えると思います。 どちらにしても新しくFontインスタンスを生成するので、再びsetFontする必要があります。 //サイズやフォント種類はそのままに、スタイルだけボールドにする components.setFont(component.getFont().deriveFont(Font.BOLD));

nilyannko
質問者

お礼

sasadoraさん、Kyon2_PaPaさんありがとうございます やっと理解できました!!!  うっうれしいです(嬉泣

  • sasadora
  • ベストアンサー率68% (59/86)
回答No.2

(1)ツールバーの上にJPanelを置いて、その上にJComboBoxを置けばよいです。JPanelのレイアウトマネージャはなんでもいいですが、FlowLayoutあたりがよいかと思います。 (2)No.1の方のおっしゃるとおりだと思います。

nilyannko
質問者

お礼

//コンボボックスの位置を設定(1)JPanelを作り(2)パネルの上にJComboBoxを置く //(3)FlowLayoutで配置位置を設定する(4)ツールバーにパネルを設置する。 JPanel panel1 = new JPanel(); panel1.add(cb); panel1.setLayout(new FlowLayout(FlowLayout.LEFT)); tb.add(panel1); (1)のほうができました。一度パネルを作って細かい 一設定ができるんですね。ありがとうございます。。 問題は(2)の方なんですがグぐったりしたんですが よくわかりません >取り出した値を再利用 ってどういうことなんでしょうか??

noname#49664
noname#49664
回答No.1

>今のままだと画面のサイズと一緒に >幅が最大まで表示されてしまうんです。 これは、単にレイアウトマネージャがそうしているためではないですか?  レイアウトマネージャについてはわかりますか? そのあたりがわかれば、レイアウトマネージャを外すか、別のものに入れ替えるか、コンポーネントのpreffedSizeなどを設定するなどいろいろ対処法は考えられますが・・。 >別々にフォントの種類だけ変更できるメソッドや >フォントのサイズだけ変更できるメソッドって >ないんでしょうか?? そのFontインスタンスからgetFamilyやgetNameでフォントのファミリーやフォント名が、getSizeでサイズが、getStyleでスタイルが取り出せます。取り出した値を再利用して新たにFontインスタンスを作れば、サイズやスタイルだけ変更したFontが作れます。

関連するQ&A

  • JComboBoxの横幅が変更出来ません

    こんにちは、jdk1.4でswingアプリケーションを作っています。 JPanal2つをBorderLayoutで配置し、WEST側JPanelにJComboBoxその他のコンポーネントを入れて、CENTER側では、コンポーネントは置かずにJPanelに絵を描いています。 全体のサイズを600×400としている時、JComboBoxが400近い横幅をとるので、右の画像表示スペースがかなり狭くなってしまいました。 そこで、それぞれのJPanelをJScrollPaneに埋め込むことにして、なんとか、右の画像表示枠を大きくすることには成功したのですが、JComboBoxのために、いつも左パネルが横スクロール状態になるのが不満です。 JComboBoxに登録している文字列は最大でも半角25文字で、JComboBox内での 半分しか占めていないのに、なぜこんなに大きな幅になるのでしょう? JComboBoxに対して以下の設定も試してみましたが、大きさは変化しませんでした。 setPreferredSize(new Dimension(200,20)); setMaximumSize(new Dimension(200,20)); JComboBox横幅の変更方法に妙案が有れば教えて頂けませんでしょうか。

    • ベストアンサー
    • Java
  • 画面のサイズ変更について

    インターネットなどのページを開いて最大化をクリックするとサイズが大きくなりすぎてしまい、下に表示されていたツールバーが見えなくなってしまいます。いくつかのページを同時に開いていても、ほかのものが開けません。 最大化のサイズを変更することはできるのですか?

  • 表示画面のサイズを変更したいのですが。

    富士通 FMV DESKPOWER C2/46L Windows98 Outlook Express 6   です。 Outlook Express の画面ですが、何時の間にか最大のサイズにて表示されるようになってしまいました。 最小化にするとツールバーの中に入ってしまいます。 画面の上下左右どこにかカーソルを当ててもサイズを変更できる←(やじるし)が表示されません。 ちなみに現在4人のユーザーで利用しているのですが、そのうちの1人分だけ最大化のサイズになっていて、他のは大丈夫です。 どなたかサイズを変更する方法をお教えください。 よろしくお願いいたします。

  • 「元のサイズにもどす」にすると消える。

    すみませんが、お教え下さい。 Netscapeの新規作成画面と、MSのPhaotoEditor画面を開いたときに起こっている現象です。  まず、開くとツールバーのところに表示されますが、画面が表示されません。ツールバーで「最大化」を選ぶと表示されます。でも「元のサイズにもどす」にすると消えてしまい、さらに「サイズ変更」を選ぶとマウスポインターは、画面右下端にでるのですがそのままクリックして画面中央にドラッグしても表示されません。画面設定を1024*768から、1600*1200に変えても見つかりません。現在、あきらめて「最大化(全画面表示)」の状態で、使っていますがとても使い難く、直す方法がありましたらお教え下さいますようお願いします。

  • ワード2002の文字サイズ変更について

    以前のワードでフォントを任意のサイズに変更する場合、書式設定ツールバーのフォントサイズボックスから数字を選択するか、キーボードから任意の数字を手入力するの2つの方法がありました。ワード2002でフォントサイズを手入力しようとすると、テンキーからはできず、キーボードからだとできます。しかし、2回目以降にフォントサイズをテンキーから変更するとできました。以前のワードでは1回目からテンキーからサイズ変更できました。 これは、なぜでしょうか?ちなみに、以前のワードでは、フォントサイズを変更しても、スタイルボックスに”標準”と書かれていましたが、2002から ”標準+22”というようにフォントサイズが+(数字)で表示されています。スタイルと何か関係があるのでしょうか? どなたかご存知の方、教えていただけませんでしょうか。よろしくお願いします。

  • 画面サイズの変更

    画面サイズの変更 パソコンでネット開いたときに、全画面でなく半分位のサイズで開き、開くたびに最大化を押して 大きくしています。 ネットを始めた際に最初から大きく(画面全体)表示出来るようにしたいのですが・・・。 分かる方お教え下さい。

  • フォントサイズの変更について

    Windows XPのSP2を利用しているのですが画面のプロパティにおいてフォントサイズの変更を しようとした所、デザインのプルダウンメニューに標準、大きいフォント、特大フォントしか表示されず 小さいフォントを選ぶ事が出来ません。 こういった場合はどうすればXPスタイルのまま小さいフォントに変更できるのでしょうか。 ご存知の方がいらっしゃいましたら教えていただけないでしょうか? 宜しくお願いいたします。

  • ウインドサイズの変更ができません教えてください

    MS-Photo Editor(マイクロソフトフォトエディター)で、 ウインドサイズを変更したいが、最大化が画面一杯で、 最小化がタスクバーへ、その途中のサイズへの変更ができません。どうしたら任意のサイズで表示できますか? 教えてください。

  • サンダーバーとのフォントサイズ

    今までWindowsLiveメールを使っていましたが、 サンダーバードを使うようにしました。 そこで質問があります。 WindowsLiveメールでフォントサイズを10でメールを作成していましたが、 サンダーバードで同じフォントでサイズを10にするとかなり小さく表示されてしまいます。 1.相手に届くときは文字の大きさは一緒でしょうか? 2.フォントサイズを10のままにして、画面に表示される大きさは変えられるでしょうか?  ただしそのときだけでなく、メール作成画面では毎回その大きさで。 3.WindowsLiveメールだと特定の文字だけフォントサイズを数字を指定して変更できました。  サンダーバードですとフォントサイズを拡大します・フォントサイズを縮小します、  というボタンがあるだけです。特定の文字だけ数字でフォントサイズを変更できるでしょうか? 

  • XP 画面のプロパティ 詳細設定 通常のサイズ変更

    XP 画面のプロパティ 詳細設定 通常のサイズ変更 パソコンの画面のサイズを最大解像度付近に変更しますと、通常のサイズ(96DPI)だと文字もフォルダーも小さくて使い難くなります。 大きなサイズ(120DPI)に変更すると、大きさ的には良い感じなのですが、文字がかすれて見え難くなります。 カスタム設定で96~120DPIを何タイプか確かめてみましたが、毎回、再起動しないとサイズ変更が行われませんのと、ちょうど良い所がなさそうなのです。 フォントの種類が固定されていてるのが原因のように思うのですが・・ レジストリとかで変更できそうなら、その方法を教えてくださいませんでしょうか。

専門家に質問してみよう