プロが教えるわが家の防犯対策術!

今JAVAを勉強しているのですが、
下記のソース上でどうしても
列の右寄せができません。
リファレンスの調べ方が下手なのかもしれませんが
わかる方宜しくお願いします。

----------------------------------------------
import java.awt.*;
import javax.swing.*;

public class Sample3 extends JApplet
{
private JLabel lb;
private JTable tb;
private JScrollPane sp;

public void init()
{
//コンテンツペインの取得
Container cnt = getContentPane();

String colname[] = {"車名","価格","月日"};
String data[][] = {
{"乗用車","1200円","10-01"},
{"トラック","2400円","10-05"},
};

//コンポーネントの作成
lb = new JLabel("いらっしゃいませ");
tb = new JTable(data,colname);
sp = new JScrollPane(tb);

//コンテナへ追加
cnt.add(lb,BorderLayout.NORTH);
cnt.add(sp,BorderLayout.CENTER);
}
}
-------------------------------------------------

A 回答 (1件)

 こんばんは。



 2列目のコラムに右寄せ用のDefaultCellRendererを設定してやればいいと思います。

 ↓こんな感じでしょうか。

import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;

public class Sample3 extends JApplet
{
  private JLabel lb;
  private JTable tb;
  private JScrollPane sp;
  
  public void init()
  {
    //コンテンツペインの取得
    Container cnt = getContentPane();
    
    String colname[] = {"車名","価格","月日"};
    String data[][] = {
    {"乗用車","1200円","10-01"},
    {"トラック","2400円","10-05"},
    };
    
    //コンポーネントの作成
    lb = new JLabel("いらっしゃいませ");
    tb = new JTable(data,colname);
    sp = new JScrollPane(tb);
    
    TableColumnModel cm = tb.getColumnModel();
    TableColumn column = cm.getColumn(1);
    DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
    renderer.setHorizontalAlignment(SwingConstants.RIGHT);
    column.setCellRenderer(renderer);
    
    //コンテナへ追加
    cnt.add(lb,BorderLayout.NORTH);
    cnt.add(sp,BorderLayout.CENTER);
  }
}
    • good
    • 0
この回答へのお礼

PecoPlus様
ご回答ありがとうございました!
無事右寄せする事ができたのですが
いまいちまだ理解できてません(^^;
もう少し勉強してみます!

お礼日時:2006/05/17 09:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!