Java Gui JList ActionListener
大家好,晚上好,我的第二个按钮“提交”有问题,因为我无法将我输入的所有信息传输到框架中的空JList这里是我的代码,到目前为止,我的问题是如果我单击“提交”,我的所有信息将显示在框架中的消息区域,它需要列表。谢谢Java Gui JList ActionListener,java,swing,user-interface,jlist,Java,Swing,User Interface,Jlist,大家好,晚上好,我的第二个按钮“提交”有问题,因为我无法将我输入的所有信息传输到框架中的空JList这里是我的代码,到目前为止,我的问题是如果我单击“提交”,我的所有信息将显示在框架中的消息区域,它需要列表。谢谢 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class vin extends JFrame { JLabel lab = new JLabel("Enter You
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class vin extends JFrame
{
JLabel lab = new JLabel("Enter Your Name :");
JLabel lab2 = new JLabel("Enter Your Birthday :");
JLabel lab3 = new JLabel("Enter Your Age:");
JLabel lab4 = new JLabel("Enter Your HomeTown:");
JLabel lab5 = new JLabel("Choose Your Department:");
JButton b1 = new JButton("Exit");
JTextField t1 = new JTextField(15);
JTextField t2 = new JTextField(15);
JTextField t3 = new JTextField(15);
JTextField t4 = new JTextField(15);
JButton b2 = new JButton("Submit");
JButton b3 = new JButton("Clear");
JLabel lab6 = new JLabel("Message :");
JList list = new JList();
JPanel panel = new JPanel();
JLabel brief;
public vin()
{
setLocation(500,280);
panel.setLayout(null);
lab.setBounds(10,10,150,20);
t1.setBounds(130,10,150,20);
lab5.setBounds(10,40,150,20);
lab2.setBounds(10,140,150,20);
t2.setBounds(130,140,150,20);
lab3.setBounds(10,170,150,20);
t3.setBounds(110,170,150,20);
lab4.setBounds(10,200,150,20);
t4.setBounds(150,200,150,20);
lab6.setBounds(10,240,150,20);
list.setBounds(50,270,150,20);
list.setSize(250,150);
b1.setBounds(250,470,150,20);
b2.setBounds(60,470,150,20);
b3.setBounds(160,470,150,20);
b1.setSize(60,30);
b2.setSize(75,30);
b3.setSize(65,30);
panel.add(lab);
panel.add(t1);
panel.add(lab5);
panel.add(lab2);
panel.add(t2);
panel.add(t3);
panel.add(t4);
panel.add(lab4);
panel.add(lab3);
panel.add(lab6);
panel.add(b1);
panel.add(b2);
panel.add(b3);
panel.add(list);
brief = new JLabel("Goodmorning "+t1+" Today is "+t2+" its your birthday You are now"+t3+" of age You are From"+t4);
getContentPane().add(panel);
b1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
Object source = a.getSource();
if(source == b1)
{
System.exit(0);
}
}
});
b2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
Object source = a.getSource();
if(source == b2)
{
list = new JList();
}
}
});
b3.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
Object source = a.getSource();
if(source == b3)
{
t1.setText("");
t2.setText("");
t3.setText("");
t4.setText("");
}
}
});
}
public static void main(String args [])
{
vin w = new vin();
w.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
w.setSize(400,600);
w.setVisible(true);
}
}
好的,根据我的理解,这将从字段中获取信息,并将它们放入列表中 b2.addActionListener(新ActionListener() {
public void actionPerformed(ActionEvent a)
{
DefaultListModel listModel = new DefaultListModel();
listModel.addElement(t1.getText());
listModel.addElement(t2.getText());
listModel.addElement(t3.getText());
listModel.addElement(t4.getText());
list.setModel(listModel);
}
});
我为你们做的很简单,所以你们可以看到我在做什么,我会把txtfield放到数组中,这样它就容易了,这对你们来说很好:)
你可以用数组和for循环来做,这样你就可以摆脱listmodel.add…等,每次你都想知道用户以前使用的所有信息,例如arraylist。我不知道你下次发布问题时,你的程序会如何运行。请指出确切的问题,以及你希望程序具体如何工作所有。也只发布相关代码,而不是全部。你问的问题还不太清楚。你想让侦听器在b2上,如果你单击,将初始化列表,然后?就这样?我不明白你的问题是什么,为什么你在
actionListener
list=new JList()
?是的,先生,如果我单击b2,它将出现在我的消息中,框架底部的白色,先生。它将显示所有信息,如姓名、年龄、,etc@nachokk因为我需要把我所有的信息都调出到我框架中的JList中。现在我想我明白了一点。你有一些文本字段可以获取信息,你可以在submit c上获取这些信息单击并将其放入列表中?我可以在t1.getText();?中添加一些字符串吗?比如(“blabla”+t1.getText());?当然可以。:)试试看。返回时,它的行为与字符串完全相同