ナレッジベース
[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


