[Chart]グラフのヘッダなどのグラフ内のコンポーネントに対し、サイズと位置を設定することはできますか

文書番号 : 22918     文書種別 : 使用方法     最終更新日 : 2006/10/27
文書を印刷する
対象製品
JClass DesktopViews 6.4 [英語版]
詳細
JCChartのsetLayoutHintsメソッドを実装し、グラフのヘッダーの位置およびサイズを示すRectangleオブジェクトを設定します。


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.klg.jclass.chart.*;
import com.klg.jclass.chart.data.*;
import com.klg.jclass.util.swing.JCExitFrame;

public class ChartHeader extends JPanel implements ComponentListener{

protected JCChart chart;

public ChartHeader()
{
  setLayout(new GridLayout(1,1));
  setPreferredSize(new Dimension(500, 300));

  chart = new JCChart(JCChart.BAR);
  chart.getDataView(0).setDataSource(new JCDefaultDataSource());

  // ヘッダの作成
  chart.getHeader().setVisible(true);
  ((JLabel)chart.getHeader()).setText("Michelle''s Microchips");
  ((JLabel)chart.getHeader()).setHorizontalAlignment(SwingConstants.CENTER);
  ((JLabel)chart.getHeader()).setOpaque(true);
  ((JLabel)chart.getHeader()).setBackground(Color.blue);
  ((JLabel)chart.getHeader()).setForeground(Color.white);

  // フッタの作成
  chart.getFooter().setVisible(true);
  ((JLabel)chart.getFooter()).setText("1963 Quarterly Results");

  chart.getLegend().setVisible(true);

  chart.addComponentListener(this);
  add(chart);
}

public void componentResized(ComponentEvent e){
  JCChart chart = (JCChart)e.getComponent();
  System.out.println(e.paramString());
  chart.setLayoutHints(chart.getHeader(), 
  new Rectangle(0, 0, chart.getSize().width,Integer.MAX_VALUE));
}

public void componentMoved(ComponentEvent e){
}

public void componentShown(ComponentEvent e){
}

public void componentHidden(ComponentEvent e){
}


public static void main(String args[])
{
  JCExitFrame f = new JCExitFrame("ChartHeader");
  ChartHeader b = new ChartHeader();
  f.getContentPane().add(b);
  f.pack();
  f.setVisible(true);
}
}




この文書は、以前は次のFAQ IDで公開されていました : 9734