方法1.
在弥渡等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、网站建设 网站设计制作定制网站制作,公司网站建设,企业网站建设,品牌网站建设,成都营销网站建设,外贸网站制作,弥渡网站建设费用合理。
实现
TableCellRenderer
TableCellEditor
Object[] row = .....
row[x] = new JCheckbox()
model.addRow(row);
方法2
继承DefaultTableModel
public class CheckTableModle extends DefaultTableModel {
重写
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
Object[] row = .....
row[x] = false
model.addRow(row);
上面两种方法都可以
是j2se的代码吧。
//JCheckBoxTest.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class JCheckBoxTest extends JApplet implements ItemListener{
//变量定义
int sum=0, a=0, b=0, c=0, d=0;
Container ctp=getContentPane();
JTextField tf=new JTextField(10);
JLabel lb=new JLabel("总价:");
JCheckBox cb1,cb2,cb3,cb4;
JButton btn=new JButton("清除");
//初始化小程序
public void init(){
ctp.setLayout(new FlowLayout());
cb1=new JCheckBox("显示器1350",false);
cb1.addItemListener(this);
ctp.add(cb1);
cb2=new JCheckBox("内存780",false);
cb2.addItemListener(this);
ctp.add(cb2);
cb3=new JCheckBox("硬盘1100",false);
cb3.addItemListener(this);
ctp.add(cb3);
cb4=new JCheckBox("CPU410",false);
cb4.addItemListener(this);
ctp.add(cb4);
ctp.add(lb);
ctp.add(tf);
ctp.add(btn);
btn.addActionListener(new koListener());
}
//选项的选择
public void itemStateChanged(ItemEvent e){
JCheckBox cbx=(JCheckBox)e.getItem();
if (cbx==cb1) a=1350;
if (cbx==cb2) b=780;
if (cbx==cb3) c=1100;
if (cbx==cb4) d=410;
sum=a+b+c+d;
tf.setText(String.valueOf(sum)+"元");
}
//计算
class koListener implements ActionListener{
public void actionPerformed(ActionEvent e){
cb1.setSelected(false);
cb2.setSelected(false);
cb3.setSelected(false);
cb4.setSelected(false);
a=0; b=0; c=0; d=0;
sum=a+b+c+d;
tf.setText(String.valueOf(sum)+"元");
}
}
}
试试这个。
帮你代码格式调整了一下,之前的太难看了,然后错误有:
1、你LayOut设成空(null)了,所以你的组件显示不出来
2、你的文本框设置得太大了,盖住了整个屏幕,文本框初始化传入的参数不是大小,是显示的行数和列数
3、你只是添加了box1的选择响应动作,其他的都没添加。
以上我帮你你在代码中改正了1、2,然后3的问题就你可以直接搞定了吧?
写java的GUI程序最重要的细心,一点一点的调节各个组件的大小来适应你的显示需求。
以下是代码:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class CheckBoxTest extends JFrame {
public CheckBoxTest() {
Container c = getContentPane();
c.setLayout(new BorderLayout());
//c.setLayout(null);
JCheckBox box1 = new JCheckBox("1", true);
JCheckBox box2 = new JCheckBox("2", false);
JCheckBox box3 = new JCheckBox("3", true);
JCheckBox box4 = new JCheckBox("4", false);
final JTextArea ta = new JTextArea();
ta.setRows(15);
final JScrollPane SP = new JScrollPane(ta);
JPanel p1 = new JPanel(new GridLayout(1, 4, 5, 5));
//JPanel p2 = new JPanel(new GridLayout(4, 1, 5, 5));
//p2.add(SP);
p1.add(box1);
p1.add(box2);
p1.add(box3);
p1.add(box4);
box1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ta.append("Correct!");
}
});
c.add(SP, BorderLayout.NORTH);
c.add(p1, BorderLayout.SOUTH);
setSize(300, 300);
c.setBackground(Color.pink);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String...args){
new CheckBoxTest();
}
}