java swing jlist保存_java swing中对于JList的使用(二)

package com.robert;

import javax.swing.*;

import java.awt.*;

/**

* Created by IntelliJ IDEA.

* User: Administrator

* Date: 11-11-12

* Time: 下午8:53

* To change this template use File | Settings | File Templates.

*/

public class LongListTest {

public static void main(String[] args)

{

EventQueue.invokeLater(new Runnable() {

public void run() {

JFrame frame = new LongListTestFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

}

});

}

}package com.robert;

import javax.swing.*;

import javax.swing.event.ListSelectionEvent;

import javax.swing.event.ListSelectionListener;

import javax.xml.soap.Text;

import java.awt.*;

/**

* Created by IntelliJ IDEA.

* User: Administrator

* Date: 11-11-12

* Time: 下午8:55

* To change this template use File | Settings | File Templates.

*/

public class LongListTestFrame extends JFrame{

private static final int DEFAULT_WIDTH = 400;

private static final int DEFAULT_HEIGHT = 300;

private JList wordList;

private JLabel label;

private String prefix = "The quick brown ";

private String suffix = " jump over the lazy dog.";

public LongListTestFrame()

{

setTitle("LongListTest");

setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);

wordList = new JList(new WordListModel(3));

wordList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

wordList.setPrototypeCellValue("www");

JScrollPane scrollPane = new JScrollPane(wordList);

JPanel p = new JPanel();

p.add(scrollPane);

wordList.addListSelectionListener(new ListSelectionListener() {

public void valueChanged(ListSelectionEvent e) {

StringBuilder word = (StringBuilder)wordList.getSelectedValue();

setSubject(word.toString());

}

});

Container contentPane = getContentPane();

contentPane.add(p,BorderLayout.NORTH);

label = new JLabel(prefix + suffix);

contentPane.add(label, BorderLayout.CENTER);

setSubject("FOX");

}

public void setSubject(String word)

{

StringBuilder text = new StringBuilder(prefix);

text.append(word);

text.append(suffix);

label.setText(text.toString());

}

}package com.robert;

import com.sun.org.apache.bcel.internal.generic.LASTORE;

import javax.swing.*;

/**

* Created by IntelliJ IDEA.

* User: Administrator

* Date: 11-11-12

* Time: 下午9:03

* To change this template use File | Settings | File Templates.

*/

public class WordListModel extends AbstractListModel {

private int length;

public static final char FIRST = 'a';

public static final char LAST = 'z';

public WordListModel(int n)

{

length = n;

}

public int getSize()

{

return (int)Math.pow(LAST - FIRST + 1,length);

}

public Object getElementAt(int n)

{

StringBuilder r = new StringBuilder();

for(int i = 0; i < length; i++)

{

char c = (char)(FIRST + n % (LAST - FIRST + 1));

r.insert(0, c);

n = n / (LAST - FIRST + 1);

}

return r;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值