「javajlist边框」Java边框

博主:adminadmin 2023-01-14 16:48:07 397

今天给各位分享javajlist边框的知识,其中也会对Java边框进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java里面如果选择了JList的值,再按其他按钮的时候怎么把之前选的这个JList项清除掉

分析: 1: 清除JList选中的项目,可以使用setSelectedIndices方法实现

JList1.setSelectedIndices(new int[] {});//设置选择的条目为没有. 用1个空白数组表示

//jlist1.setSelectedIndices(new int[] {0,1});//这就表示选择的条目为第1和第2个

分析:2 : 可以设置1个焦点响应事件. 当JList失去焦点时,使用上面的方法,清除掉所有选择

完整的参考代码

import java.awt.*;

import java.awt.event.FocusEvent;

import java.awt.event.FocusListener;

import javax.swing.*;

import javax.swing.event.*;

public class MenuFrame extends JFrame implements ListSelectionListener {

JTextField jtf;

JListString jlist1;

JTextArea jta;

static final String[] CP = { "青椒土豆丝", "西红柿炒鸡蛋", "麻辣小龙虾", "鱼香肉丝", "西湖醋鱼", "红汤老火锅", "可乐", "茉莉花茶" };

public MenuFrame() {

JPanel jpCenter = new JPanel(new GridLayout(1, 2));

jlist1 = new JListString(CP);

jlist1.addListSelectionListener(this);

jlist1.addFocusListener(new FocusListener() {//给JList添加1个焦点响应事件

@Override

public void focusLost(FocusEvent e) {//失去焦点时执行的方法

jlist1.setSelectedIndices(new int[] {});//设置选择的条目为没有. 用1个空白数组表示

//jlist1.setSelectedIndices(new int[] {0,1});//这就表示选择的条目为第1和第2个

}

@Override

public void focusGained(FocusEvent e) {//获得焦点时,执行的方法

// TODO Auto-generated method stub

}

});

JScrollPane jsp1 = new JScrollPane(jlist1);// 滚动面板

jsp1.setBorder(BorderFactory.createTitledBorder("全部菜品"));// 带标题的边框

jpCenter.add(jsp1);

jta = new JTextArea(5, 30);

jta.setLineWrap(true);

JScrollPane jsp2 = new JScrollPane(jta);

jsp2.setBorder(BorderFactory.createTitledBorder("已选菜品"));

jpCenter.add(jsp2);

add(jpCenter);

setTitle("点菜");

setSize(300, 200);// 窗口大小

setLocationRelativeTo(null);// 窗口居中

setDefaultCloseOperation(EXIT_ON_CLOSE);

setVisible(true);

}

public static void main(String[] args) {

new MenuFrame();// 启动窗口

}

public void valueChanged(ListSelectionEvent e) {

if (e.getValueIsAdjusting()) {

jta.append(jlist1.getSelectedValue()+",");

}

}

}

效果图

如何设置JList控件的宽度,高度与边框样式

重载TableModel的getSize()方法可以控制宽高,jlist.setBorder()设置边框样式

java 中的那个Jlist怎么才能显示东西

分析,

1. 可以使用直接在构造时给一个参数(数组或者Vector类型)

比如

String[] arr = {"张三","李四","王五"};

JListString list = new JListString(arr);

2. 使用一个DefaultListModel 可以动态的添加数据. ..

具体代码如下:(刚好昨天回答别人,写的一段代码. 可以做个示范)

全部菜品的JList中 ,单击菜品,可以出现在已选菜品中

Jlist1(全部菜品)就是用数组生成的Jlist

JList2(已选菜品)就是动态添加数据的JList

import java.awt.*;

import javax.swing.*;

import javax.swing.event.*;

 

public class MenuFrame extends JFrame implements ListSelectionListener {

    JTextField jtf;

    JListString jlist1, jlist2;

    static final String[] CP = { "青椒土豆丝", "西红柿炒鸡蛋", "麻辣小龙虾", "鱼香肉丝", "西湖醋鱼", "红汤老火锅", "可乐", "茉莉花茶" };

    DefaultListModelString dlm;//用dlm给jlist2动态添加数据

 

    public MenuFrame() {

        JPanel jpCenter = new JPanel(new GridLayout(1, 2));

        jlist1 = new JListString(CP);

        jlist1.addListSelectionListener(this);

        JScrollPane jsp1 = new JScrollPane(jlist1);//滚动面板

        jsp1.setBorder(BorderFactory.createTitledBorder("全部菜品"));//带标题的边框

        jpCenter.add(jsp1);

        jlist2 = new JListString();

        dlm = new DefaultListModelString();

        jlist2.setModel(dlm);

        JScrollPane jsp2 = new JScrollPane(jlist2);

        jsp2.setBorder(BorderFactory.createTitledBorder("已选菜品"));

        jpCenter.add(jsp2);

 

        add(jpCenter);

        jtf = new JTextField(5);

        jtf.setEnabled(false);

        jtf.setText("0道");

        JLabel jl = new JLabel("你已经选中的菜单数量是:");

        JPanel jpSouth = new JPanel();

        jpSouth.add(jl);

        jpSouth.add(jtf);

        add(jpSouth, BorderLayout.SOUTH);

        setTitle("点菜");

        setSize(300, 200);//窗口大小

        setLocationRelativeTo(null);//窗口居中

        setDefaultCloseOperation(EXIT_ON_CLOSE);

        setVisible(true);

    }

 

    public static void main(String[] args) {

        new MenuFrame();//启动窗口

    }

 

 

    public void valueChanged(ListSelectionEvent e) {

        if (e.getValueIsAdjusting()) {

            dlm.addElement(jlist1.getSelectedValue());//给dlm添加元素,更新jlist2的数据

            jtf.setText(dlm.size()+"道");

             

        }

    }

}

javajlist边框的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java边框、javajlist边框的信息别忘了在本站进行查找喔。