- ベストアンサー
ウィンドウサイズを変更しても、グラフが適切に表示されるには?
Javaでグラフを作成する際に、今まで私はdrawStringやdrawLineなどで枠や軸、目盛りや数値などを書いていたのですが、この場合だとウィンドウサイズを変更すると、例えばサイズを大きくすると描いた部分がそのままで空白の部分だけが大きくなってしまいます。 そのようなことがないように、ウィンドウサイズを大きくしたり小さくしたりしても、その変更に伴ってグラフが適切に変化するようにするために、何かいい方法はないでしょうか? よろしくお願いします。
- kamakuragengorou
- お礼率53% (132/248)
- Java
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは、 外しているかもしれませんが、こんなことでしょうか。 ウィンドサイズが、変更されると getWidth()、getHeight()が、変更さえたサイズで、 値が自動的に変わります。 ********************************************************************** package addpanel; import java.awt.Color; import javax.swing.JPanel; /** * * @author */ class jp extends JPanel{ public jp() { } protected void paintComponent(java.awt.Graphics g) { super.paintComponent(g); double x,y,dx,dy,xw,yh; int i; // x,y軸の長さ xw =getWidth()*0.85; yh =getHeight()*0.85; // x,yの目盛り(十分割) dx = xw/10.0;dy=yh/10.0; //原点 x=getWidth()*0.05; y=getHeight()*0.95; // y軸 for(i=0;i<11;i++){ g.drawLine((int)x,(int) y,(int)x,(int)( y-yh)); x=x+dx; } x=(int)(getWidth()*0.05); y=(int)(getHeight()*0.95); // x軸 for(i=0;i<11;i++){ g.drawLine((int)x,(int) y,(int)(x+xw),(int) y); y=y-dy; } } } public class addpanel extends javax.swing.JFrame { jp p ; /** Creates new form addpanel */ public addpanel() { p = new jp(); initComponents(); getContentPane().add(p); p.setBackground(Color.YELLOW); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc=" 生成されたコード"> private void initComponents() { setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); setBounds((screenSize.width-400)/2, (screenSize.height-300)/2, 400, 300); } // </editor-fold> /** * @param args the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new addpanel().setVisible(true); } }); } // 変数宣言 - 編集不可 // 変数宣言の終わり }
その他の回答 (1)
- Bonjin
- ベストアンサー率43% (418/971)
ウィンドウサイズと相対的にグラフを描けばよいだけではないですか?
お礼
ご返答ありがとうございます。 相対的、ですか。ふむふむ。確かにそれができれば実現しますね。しかし私の知識ではそれができないのです...。
関連するQ&A
- グラフでサイズ変更できなくなってしまいました。
エクセルでグラフを作りました。グラフのサイズなどは左クリックしてそののち上下左右や斜めにできた黒い四角にマウスのポインタを持っていくと矢印が変わるのでそれで左クリックしたまま動かすとサイズが変更します。しかしy軸にある数値軸ラベルは四角にポインタを合わせても何も変化が起こりません。これって何が原因かわかりますか?教えてください。数値軸ラベルはグラフのオプションでy数値軸というところに入れた文字で全部出てこないで一部隠れてしまっています。
- 締切済み
- オフィス系ソフト
- Excelのグラフ表示
WinXP,Excel2002を使用してます。 いろいろと調べたのですが、どうしても分からないので 分かる方教えて下さい。 Excelのデータより“積み上げ横棒グラフ”を作成します。 (1)数値軸および数値軸目盛線を非表示にしなさい。 と、課題が何点かある中(1)だけどうしても分かりません。 ツールバーより「グラフのオプション」で「目盛線」の Y/数値軸の目盛線のチェックを外すと数値軸目盛線と共に 項目軸まで消えてしまいます。 どうかお願い致します。
- 締切済み
- オフィス系ソフト
- エクセルのグラフで特定の目盛線の色を変更する。
いつもアドバイスを参考にしています。 エクセルのグラフについて質問があります。エクセルでグラフを作成したとき、ある特定の数値軸(数値軸の値を目盛線にリンクさせ特定の数値軸の目盛線の色を変更する。)の目盛線の色を変更するには、オートシェイプを使用する以外に何か方法はありますか?
- ベストアンサー
- オフィス系ソフト
- Excel 2007グラフ の軸を変更すると・・・
質問を見ていただきありがとうございます グラフのことで教えてください。 Excel2007でグラフを作っているのですが、 軸の数値を変更すると グラフがおかしくなるのです 100% ■ 50% ■ ■ 10% ■ ■ 0% ■ ■ 自動的に出てきた目盛で、こういう感じだったのですが 軸の数値を希望の数値に変えると 150 100 50 10 0 _ _ _ すべてぺったんこになってしまうのです 直せないかと、色々してみましたが、出来ません 申し訳ないのですが、解決方法を教えてください よろしくお願いします
- 締切済み
- Windows Vista
- エクセル グラフ 特定の目盛の色を変えたい
エクセル2003をしようしています。 折れ線のグラフを作成しました。 特定の"数値軸目盛線"の色や線種を変更することは可能でしょうか。 また特定の"数値軸目盛線"と別の"数値軸目盛線"の間の背景の 色だけを変えることは可能でしょうか。 その範囲の中にグラフの線があることを目立たせたいのです。 どうぞ宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excel98でグラフ数値軸の表示単位変更
こんにちは。Excel98でグラフの数値軸の表示単位を「千」などに変更できないのでしょうか? Excel2000では数値軸の書式設定→目盛→表示単位→百、千、万などに変更できます。しかし98にはその機能がないらしいのです。友人が困っているのですが、私は2000なのでよくわかりません。知っている方教えて下さい。
- 締切済み
- オフィス系ソフト
- エクセルのグラフで・・・。
エクセルの集合縦棒グラフで、 数値軸の [軸の書式設定]-[目盛]タブから指定した目盛間隔〔2000000〕と最大値〔30000000〕の変更をするんですが、変更したのと違う目盛間隔〔5000000〕と表示されます。何度しても変更されません。どうすれば変更した数字が表示されますか?
- ベストアンサー
- オフィス系ソフト
- Excel2003 Y軸最大値の変更によるグラフサイズの変化
Excel2003 でグラフを作成しています。(折れ線グラフ(グラフオブジェクト)) 目盛最大値の桁数を変更(5000→10000, 10000→5000など)すると、グラフのプロットエリアの大きさが変化してしまいます。 目盛最大値に関わらず、プロットエリアの大きさを固定にする方法はあるでしょうか。 教えてください。お願いします。
- ベストアンサー
- その他MS Office製品
お礼
こんにちは。 いつもありがとうございます。まさにこの通りです。これが「相対的に」という意味なのですね! 私は全然思いつきませんでした。本当にありがとうございした。助かりました。