生成されたチャートに設定されたアイコンを持つアイテムJTable
が1つだけ含まれています。JButtton
JFreeChart
ボタンをクリックすると、JFreeChart
チャートを含む新しいウィンドウが起動します。
JButton
チャートアイテムを含むオブジェクトを返すだけのボタンのセルレンダラーがあります。
ボタンをシングルクリックすると、新しいウィンドウが起動します。
しかし、ボタンをダブルクリックすると新しいウィンドウが起動しますが、以前はであったボタンのアイコンが、クラスフィールド値を持つJFreeChart
のクラス名パスを持つテキスト文字列に変わります。JButton
この動作を発生させる他の方法は、セルレンダラーを削除するとJButton
、クラス名が表示されるだけです。ですから、何が起こっているのかわからないので、何トンも遊んでいて、何も進歩していません。私はいくつかのコードを投稿するつもりでしたが、それが多すぎます。誰かが何かアイデアを持っているなら、私は説明を助けるためにコードの特定のセクションを投稿することができます。コードは次のとおりです。
Class init {
...
ItModel itModel = new ItModel ();
JTable table = new JTable(itModel );
TableRendrend rend = new TableRend();
table.getColumn("it").setCellRenderer(rend);
}
class TableRend implements TableCellRenderer {
JButton itButton;
...
getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int columns){
if(itButton ==null){
itButton = new JButton (JButton)value.getIcon();
}
return itButton;
}
}
Class itModel extends AbstractTableModel{
JButton button;
...
public Object getValueAt(int rowIndex, intColumnIndex){
if(button==null){
button = new JButton( new ImageIcon(JFreeChartImage.getImage()));
}
return button
}
}
これは、JButtonをダブルクリックしてTEXTexを表示する場合を除いてすべて機能します。
javax.Swing.JButton(0,0,...)
表示する必要のある実際のグラフ画像ではなく、すべてのフィールド値