[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