如何当按钮被点击Java中的数组添加到一个JTable [英] how to add an array to a Jtable when button is clicked java
本文介绍了如何当按钮被点击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屋!
查看全文