存在以下程序:
import java.awt.Container;import javax.swing.JFrame;
import javax.swing.JList;
class DemoFrame extends JFrame
{
public DemoFrame()
{
Container c=getContentPane();
String sports[]={"足球","排球","乒乓球","篮球"};
JList li=new JList(sports);
li.setVisibleRowCount(3);
c.add(li);
li.remove(0);
li.removeAll();
}
}
public class Example6_3_2
{ public static void main(String[] args)
{
DemoFrame f=new DemoFrame();
f.setVisible(true);
f.pack();
}}
为什么
li.setVisibleRowCount(3);--------》我预期效果是在JList中只能有3个显示,但是4个选项还是同时显示。
li.remove(0);--------》删除不了第一个选项
li.removeAll();--------》一个都没有删除
这三句为什么不能达到效果呢?
谢谢。我用的JDK是1.6的。
import java.awt.Container;import javax.swing.JFrame;
import javax.swing.JList;
class DemoFrame extends JFrame
{
public DemoFrame()
{
Container c=getContentPane();
String sports[]={"足球","排球","乒乓球","篮球"};
JList li=new JList(sports);
li.setVisibleRowCount(3);
c.add(li);
li.remove(0);
li.removeAll();
}
}
public class Example6_3_2
{ public static void main(String[] args)
{
DemoFrame f=new DemoFrame();
f.setVisible(true);
f.pack();
}}
为什么
li.setVisibleRowCount(3);--------》我预期效果是在JList中只能有3个显示,但是4个选项还是同时显示。
li.remove(0);--------》删除不了第一个选项
li.removeAll();--------》一个都没有删除
这三句为什么不能达到效果呢?
谢谢。我用的JDK是1.6的。
JList jList1 = new JList(model);
model.addElement("足球");”
通过DefaultListModel 来进行增添删除
import java.awt.event.ActionListener;import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;public class TestList extends JFrame { private JPanel jContentPane = null;
private JScrollPane jScrollPane = null;
private JList viewtable = null;
private JButton jButton = null;
// 建立一个模型,之后的表将在建立在模型下,或者说是以模型为一个基本模板;
DefaultListModel dtm = null;
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/ // 使用JTABLE ON JSCROLLPANE控件;
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setBounds(new java.awt.Rectangle(40, 40, 650, 200));
jScrollPane.setViewportView(getViewtable());
}
return jScrollPane;
} /**
* This method initializes viewtable
*
* @return javax.swing.JTable
*/
// 初始化表;
private JList getViewtable() {
if (viewtable == null) {
viewtable = new JList();
dtm = new DefaultListModel();
dtm.addElement("hello");
dtm.addElement("zhtsuc");
dtm.addElement("zhtsuc_second");
// 用模型建立表;
viewtable = new JList(dtm);
}
return viewtable;
} /**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setText("del");
jButton.setBounds(new java.awt.Rectangle(289, 316, 165, 28)); jButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
int numrow = viewtable.getSelectedValues().length;
Object[] objs = viewtable.getSelectedValues();
for (int i = 0; i < numrow; i++) {
dtm.removeElement(objs[i]);
} }
});
}
return jButton;
} /**
* @param args
*/
public static void main(String[] args) {
TestList test = new TestList();
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
test.setVisible(true); } /**
* This is the default constructor
*/
public TestList() {
super();
initialize(); } /**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(772, 500);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
} /**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJScrollPane(), null);
jContentPane.add(getJButton(), null);
}
return jContentPane;
}}