java 在卡片式布局的其中一个面板中加入表格,数据只能显示一行,测试写的点击 发起挑战 按钮可以加数据 5

publicclassGame2extendsJFrameimplementsActionListener{List<String>name=newArrayList<S... public class Game2 extends JFrame implements ActionListener{
List<String> name = new ArrayList<String>();
JScrollPane jspan = null;
private JButton but;
public Game2(){
this.setTitle("欢迎登陆");
this.setSize(600, 400);
this.setLayout(null);
this.setLocationRelativeTo(null);

but = new JButton("加数据");
but.setBounds(400, 250, 98, 25);
but.addActionListener(this);

this.add(but);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}

public void actionPerformed(ActionEvent e) {
JButton but1 = (JButton) e.getSource();
if(but1 == but){

//做测试写的表格,点一次加一个数据
String s = "123";
name.add(s);

int a = name.size();
String[] columnLables = {"在线人员"};
Object[][] tableData = new String[a][1];
for(int i = 0;i < a;i++){
tableData[i][0] = name.get(i);
}
JTable table = new MyTable(tableData,columnLables);
table.setBounds(0, 0, 175, 300);
table.setFillsViewportHeight(true);

jspan = new JScrollPane(table);
jspan.setBounds(0,0, 175, 300);
this.add(jspan);

System.out.println(table.getRowCount());
/*输出的表格行数是对的,但是切换选项卡时再切换回来只显示第一行数据。搞不懂为什么有数据却不显示*/
}
}
public static void main(String[] args) {
new Game2();
}
}
我在另一个窗口里单独测试的代码,向各位大神求教
在线等啊
展开
 我来答
松之song
2017-01-21 · TA获得超过446个赞
知道小有建树答主
回答量:489
采纳率:50%
帮助的人:358万
展开全部
每次点击的时候都重新创建MyTable并且加到Frame里面,看下是不是被之前加入的Table盖住了。
或者换个写法,窗口初始化的时候同时创建表格,点击添加数据直接更新数据就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式