[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends:00692] Re: リフレッシュについて



------------------------- infoseek ML Sponsor --------------------------
    ★★楽しかった夏休み!★★でもサイフの中身はカラッポ・・★★
     ┏━┓┏━┓┏━┓┏━┓┏━┓┏━┓┏━┓┏━┓┏━┓  
     ┃ロ┃┃ー┃┃ン┃┃カ┃┃ー┃┃ド┃┃特┃┃集┃┃!┃  
     ┗━┛┗━┛┗━┛┗━┛┗━┛┗━┛┗━┛┗━┛┗━┛  
   貴方に合ったローンカードは?   http://www.loanginza.com/01
------------------------------------------------------------------------


>  えんどうです。
ご指導まことにありがとうございます。 
たいへん感謝しております。
> >    JTable table = new JTable(8,4);
> 
> このあと table がどこにも add() されてないのでは...

tableにnewしたオブジェクトを代入した時点で
参照が変わってしまっていることを見落としていました。

> >  static private class ActionHandler implements
> >ActionListener{
> >    public void actionPerformed(ActionEvent e){
> >      System.out.println("actionPerformed");
> >      label.setText("moge");
> >      table = new JTable(2,2);
> 
> ここで new せずに、さきほど 8 x 4 で生成した table
> を 2 x 2 に
> 変化させればよいのでは。
row,columnの変化のさせ方が探せませんでした。
あと、2×2に限らず、 TableModelを使用したとして
それのアクセッサメソッド(get,set)でセットし直せば
OKと考えていいのでしょうか?
また、その時には参照が同じなのでaddしなくても
いいのでしょうか?
> new したいならその前に 8 x 4 の JTable を remove
> すべきでしょう。
> 
> >    }
> >  }
> >}
やってみました。
が、removeするとエラーになりました。
ーーーーーーーーーーーーーーー以下ソースーーーー
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Test extends JFrame {
	static JLabel label;
	static Test test;
	static JTable table;
	public Test(String s){
		super(s);
	}

	public static void main(String[] args){
		test = new Test("test");
		test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		JPanel panel = new JPanel();
		label = new JLabel("first");
		panel.add(label);
		JTable table = new JTable(8,4);
		JButton button = new JButton("push me!");
		test.getContentPane().setLayout(new BorderLayout());
		test.getContentPane().add(panel,BorderLayout.NORTH);
		test.getContentPane().add(table,BorderLayout.CENTER);
		test.getContentPane().add(button,BorderLayout.SOUTH);
		button.addActionListener(new ActionHandler());
		test.setSize(400,300);
		test.setVisible(true);
	}
	static private class ActionHandler implements
ActionListener{
		public void actionPerformed(ActionEvent e){
			System.out.println("actionPerformed");
			label.setText("moge");
//			test.getContentPane().remove(table);
			table = new JTable(2,2);
			test.getContentPane().add(table,BorderLayout.CENTER);
		}
	}
}
ーーーーーーーーーーーーーーーソース終了ーーーー
コメントになっているところをはずすと
エラーが出ます(NullPointerException)
理由がわかりません
> P.S. Swing Tutorial
> を一通りやった方が良いと思います。
>     
> http://java.sun.com/docs/books/tutorial/uiswing/
http://java.sun.com/docs/books/tutorial/uiswing/components/table.html
すいません・・恥さらしですが英語が得意ではありません

__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!
http://bb.yahoo.co.jp/


------------------------------------------------------------------------
     ★今さら人に聞けないこと、この際だから聞いちゃおう!
http://research.infoseek.co.jp/entry_n.phtml?magazine_id=107&svx=971122