如何当按钮被点击Java中的数组添加到一个JTable [英] how to add an array to a Jtable when button is clicked java

查看:665
本文介绍了如何当按钮被点击Java中的数组添加到一个JTable的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数组持有地址的地址,1号线和2号线。

我想点击一个BTN当阵列添加到JTable中。我已阅读文档,我仍然没有得到它,请帮助我。

 进口java.awt中的*。
java.awt.event中导入*。
进口java.awt.EventQueue中;进口的javax.swing *。公共类驱动器扩展家庭{    私人的JFrame F;
    私人JPanel的磷;    JButton的BTN1 =的新的JButton(商业航运);
    JButton的BTN2 =的新的JButton(家庭送货);    JLabel的LBL1 =新的JLabel(企业名称:);
    JLabel的LBL2 =新的JLabel(URL);
    JLabel的lbl3 =新的JLabel(专业名称);
    JLabel的lbl4 =新的JLabel(名字:);
    JLabel的lbl5 =新的JLabel(姓氏:);
    JLabel的lbl6 =新的JLabel(电子邮件:);
    JLabel的lbl7 =新的JLabel(手机);
    JLabel的lbl8 =新的JLabel(关系:);
    JLabel的lbl9 =新的JLabel(应答呼叫:);    JTextField的JT1 =新的JTextField(BUSINESSNAME);
    JTextField的JT2 =新的JTextField,(网站);
    JTextField的JT3 =新的JTextField(的toString());
    JTextField的JT4 =新的JTextField(一());
    JTextField的JT5 =新的JTextField,(最后());
    JTextField的JT6 =新的JTextField(电子邮件());
    JTextField的JT7 =新的JTextField(电话());
    JTextField的JT8 =新的JTextField,(关系());
    字符串的txt = Boolean.toString(AnswerCall(关系())); //转换布尔值的字符串值
    JTextField的JT9 =新的JTextField,(TXT);
    JTable中TBL1 =新的JTable();    公共驱动程序(){
        GUI();
    }
      btn1.addMouseListener(新java.awt.event.MouseAdapter(){
            公共无效的mouseClicked(java.awt.event.MouseEvent中EVT){
                btn1MouseClicked(EVT);
                tbl1.setText(ShippingLabel(SL));
            }
        });    公共无效GUI(){
        F =新的JFrame(地址簿);
        P =新JPanel();
        f.add(P);
        p.setLayout(NULL);        p.add(BTN1);
        p.add(BTN2);        p.add(TBL1);        p.add(LBL1);
        p.add(LBL2);
        p.add(lbl3);
        p.add(lbl4);
        p.add(lbl5);
        p.add(lbl6);
        p.add(lbl7);
        p.add(lbl8);
        p.add(lbl9);        p.add(JT1);
        p.add(JT2);
        p.add(JT3);
        p.add(JT4);
        p.add(JT5);
        p.add(JT6);
        p.add(JT7);
        p.add(JT8);
        p.add(JT9);        lbl1.setLocation(27,20);
        lbl2.setLocation(27,40);
        lbl3.setLocation(27,60);
        lbl4.setLocation(27,80);
        lbl5.setLocation(27,100);
        lbl6.setLocation(27,120);
        lbl7.setLocation(27,140);
        lbl8.setLocation(27,160);
        lbl9.setLocation(27,180);        btn1.setLocation(27,200);
        btn2.setLocation(27,220);        jt1.setLocation(223,20);
        jt2.setLocation(223,40);
        jt3.setLocation(223,60);
        jt4.setLocation(223,80);
        jt5.setLocation(223,100);
        jt6.setLocation(223,120);
        jt7.setLocation(223,140);
        jt8.setLocation(223,160);
        jt9.setLocation(223,180);
        tbl1.setLocation(223,200);
        lbl1.setSize(230,20);
        lbl2.setSize(230,20);
        lbl3.setSize(230,20);
        lbl4.setSize(230,20);
        lbl5.setSize(230,20);
        lbl6.setSize(230,20);
        lbl7.setSize(230,20);
        lbl8.setSize(230,20);
        lbl9.setSize(230,20);        btn1.setSize(150,20);
        btn2.setSize(150,20);        jt1.setSize(230,20);
        jt2.setSize(230,20);
        jt3.setSize(230,20);
        jt4.setSize(230,20);
        jt5.setSize(230,20);
        jt6.setSize(230,20);
        jt7.setSize(230,20);
        jt8.setSize(230,20);
        jt9.setSize(230,20);
        tbl1.setSize(1,1);
        //收拾更好的跨平台支持的框架
        f.pack();
        //使其可见
        f.setVisible(真);
        f.setSize(600500); //默认大小为0,0
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    } //桂法结束    公共静态无效的主要(字串[] args){
        EventQueue.invokeLater(新的Runnable(){
           公共无效的run(){
                新的驱动程序();           }
        });
    } //结束主要方法       } //结束类驱动程序

阵列
在地址类

 公共无效ShippingLabel(字串[] args){
  对象[] [] = SL {{555你好LN,资本,TX 77777}};
    }

在主类

  btn1.addMouseListener(新java.awt.event.MouseAdapter(){
            公共无效的mouseClicked(java.awt.event.MouseEvent中EVT){
                btn1MouseClicked(EVT);
                tbl1.setText(ShippingLabel(SL [0]));            }
        });


解决方案

使用的DefaultTableModel 中添加一个新行的JTable

样code:


  • 在这里有4个现有的表行

  • 一个新行上按一下按钮添加

     对象数据[] [] = {{111Hello LN,资本论,TX 77777},
        {222你好LN,资本论,TX 77777},
        {333你好LN,资本论,TX 77777},
        {444你好LN,资本论,TX 77777}};
    字符串COL [] = {姓名,资本论,TX};最终的DefaultTableModel模型=新的DefaultTableModel(数据,列);
    最终的JTable表=新的JTable(模型); ....btn1.addMouseListener(新java.awt.event.MouseAdapter(){
        公共无效的mouseClicked(java.awt.event.MouseEvent中EVT){
            btn1MouseClicked(EVT);        对象[] [] = SL {{555你好LN,资本论,TX 77777}};
            model.addRow(ShippingLabel(SL [0]));    }
    });


I have an array holding an address, line 1 and line 2 of the address.

I want to add the array to a Jtable when a btn is clicked. I have read documentation and I am still not getting it please help me.

import java.awt.*;
import java.awt.event.*;
import java.awt.EventQueue;

import javax.swing.*;

public class Driver extends Family {

    private JFrame f;
    private JPanel p;

    JButton btn1 = new JButton("Business Shipping");
    JButton btn2 = new JButton("Family Shipping");

    JLabel lbl1 = new JLabel("Business Name:");
    JLabel lbl2 = new JLabel("URL:");
    JLabel lbl3 = new JLabel("Professional Name");
    JLabel lbl4 = new JLabel("First Name:");
    JLabel lbl5 = new JLabel("Last Name:");
    JLabel lbl6 = new JLabel("Email:");
    JLabel lbl7 = new JLabel("Phone:");
    JLabel lbl8 = new JLabel("Relationship:");
    JLabel lbl9 = new JLabel("Answer Call:");

    JTextField jt1 = new JTextField(businessName);
    JTextField jt2 = new JTextField(website);
    JTextField jt3 = new JTextField (toString());
    JTextField jt4 = new JTextField(First());
    JTextField jt5 = new JTextField(Last());
    JTextField jt6 = new JTextField(Email());
    JTextField jt7 = new JTextField(Phone());
    JTextField jt8 = new JTextField(Relationship());
    String txt = Boolean.toString(AnswerCall(Relationship()));//converting boolean to string value
    JTextField jt9 = new JTextField(txt);
    JTable tbl1 = new JTable();



    public Driver () {      
        gui();      
    }
      btn1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btn1MouseClicked(evt);
                tbl1.setText(ShippingLabel(sl));                
            }
        });

    public void gui() { 
        f = new JFrame("Address Book");     
        p = new JPanel();   
        f.add(p);
        p.setLayout(null);

        p.add(btn1);
        p.add(btn2);

        p.add(tbl1);

        p.add(lbl1);
        p.add(lbl2);
        p.add(lbl3);
        p.add(lbl4);
        p.add(lbl5);
        p.add(lbl6);
        p.add(lbl7);
        p.add(lbl8);
        p.add(lbl9);

        p.add(jt1);
        p.add(jt2);
        p.add(jt3);
        p.add(jt4);
        p.add(jt5);
        p.add(jt6);
        p.add(jt7);
        p.add(jt8);
        p.add(jt9);

        lbl1.setLocation(27, 20);
        lbl2.setLocation(27, 40);
        lbl3.setLocation(27, 60);
        lbl4.setLocation(27, 80);
        lbl5.setLocation(27, 100);
        lbl6.setLocation(27, 120);
        lbl7.setLocation(27, 140);
        lbl8.setLocation(27, 160);
        lbl9.setLocation(27, 180);

        btn1.setLocation(27, 200);
        btn2.setLocation(27, 220);

        jt1.setLocation(223, 20);
        jt2.setLocation(223, 40);
        jt3.setLocation(223, 60);
        jt4.setLocation(223, 80);
        jt5.setLocation(223, 100);
        jt6.setLocation(223, 120);
        jt7.setLocation(223, 140);
        jt8.setLocation(223, 160);
        jt9.setLocation(223, 180);
        tbl1.setLocation(223, 200);


        lbl1.setSize(230, 20);
        lbl2.setSize(230, 20);
        lbl3.setSize(230, 20);
        lbl4.setSize(230, 20);
        lbl5.setSize(230, 20);
        lbl6.setSize(230, 20);
        lbl7.setSize(230, 20);
        lbl8.setSize(230, 20);
        lbl9.setSize(230, 20);

        btn1.setSize(150, 20);
        btn2.setSize(150, 20);

        jt1.setSize(230, 20);
        jt2.setSize(230, 20);
        jt3.setSize(230, 20);
        jt4.setSize(230, 20);
        jt5.setSize(230, 20);
        jt6.setSize(230, 20);
        jt7.setSize(230, 20);
        jt8.setSize(230, 20);
        jt9.setSize(230, 20);
        tbl1.setSize(1, 1);


        // pack the frame for better cross platform support
        f.pack();
        // Make it visible
        f.setVisible(true);
        f.setSize(600,500); // default size is 0,0
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    } // End of Gui Method

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
           public void run() {
                new Driver();

           }
        });
    } // End main Method

       } // End class Driver

array in the address class

    public void ShippingLabel(String[]args) {
  Object [][] sl = {{"555 Hello Ln", "Capital, TX 77777"}};
    }

in the main class

  btn1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btn1MouseClicked(evt);
                tbl1.setText(ShippingLabel(sl[0]));

            }
        });

解决方案

Use DefaultTableModel to add a new row in JTable

Sample code:

  • Here table having 4 existing rows
  • A new row is added on button click

    Object data[][] = { { "111Hello Ln", "Capital", "TX 77777" },
        { "222 Hello Ln", "Capital", "TX 77777" },
        { "333 Hello Ln", "Capital", "TX 77777" },
        { "444 Hello Ln", "Capital", "TX 77777" } };
    String col[] = { "Name", "Capital", "TX" };
    
    final DefaultTableModel model = new DefaultTableModel(data, col);
    final JTable table = new JTable(model);
    
     ....
    
    btn1.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            btn1MouseClicked(evt);
    
            Object [][] sl = {{"555 Hello Ln", "Capital", "TX 77777"}};
            model.addRow(ShippingLabel(sl[0]));
    
        }
    });
    

这篇关于如何当按钮被点击Java中的数组添加到一个JTable的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆