[Chart]グラフのヘッダなどのグラフ内のコンポーネントに対し、サイズと位置を設定することはできますか
対象製品
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