java jlabe_如何在JList中,添加一个按钮.就是说JList的一行里面, 有一个JLabe, JTextField和JButton. 附有注释的用例...

展开全部

每一行都要JLabe, JTextField和JButton共3个元素,每一行有3套聚焦点。

等于32313133353236313431303231363533e4b893e5b19e31333330326135要手工实现JList的JList—二维的JList

Java对这种情况预置了JTable。省去了重复发明轮子的过程

学和用JTable把。

简写的代码可以实现一行三个,但没有实现聚焦系统。不实用。还是直接用JTable

import java.awt.Component;

import java.util.Vector;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JList;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.ListCellRenderer;

public class Test{

static public class Row extends JPanel {

private static final long serialVersionUID = 1234L;

public JLabel label;

public JButton button;

public JTextField field;

public Row(){

super();

label=new JLabel(); button=new JButton(); field=new JTextField();

add(label); add(field); add(button);

}

}

public static void main(String[] args) {

JFrame f=new JFrame("示例");

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.setSize(640, 480);

Vector rows=new Vector();

for(int i=0;i<20;i++){

Row r=new Row();

r.button.setText("按钮"+i);

r.field.setText("文本框"+i);

r.label.setText("标签"+i);

rows.add(r);

}

JList l=new JList(rows);

l.setCellRenderer(new ListCellRenderer(){

@Override

public Component getListCellRendererComponent(

JList extends Row> list, Row value, int index,

boolean isSelected, boolean cellHasFocus) {

return value;

}

});

f.add(l);

f.setVisible(true);

}

}

46131d9807b82c793edc6a2c8b8c6a2a.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值