/ / JFrame में jTable से डेटा दिखाएं - जावा, स्विंग, जिबेट, जेफ्रेम, जटबटन

jTrame में jTable से डेटा दिखाएं - जावा, स्विंग, jtable, jframe, jbutton

मेरे पास jFrame2 है जिसमें 4 के साथ jTable हैकॉलम (डेटाबेस में तालिका से डेटा लेने वाला JTable जिसमें 20 कॉलम होते हैं) इसके अलावा मेरे पास jFrame1 है जो मैंने इसका इस्तेमाल डेटाबेस को भरने के लिए किया है। मैं क्या करना चाहता हूं कि जब मैं jTable में पंक्ति का चयन करता हूं और jButton पर क्लिक करता हूं, तो उसे उस पंक्ति के सभी डेटा को दिखाते हुए jframe1 खोलना होगा। मैं स्पष्ट कर दूंगा कि मुझे अंकों में क्या चाहिए

* मैं jframe2 से jbutton के माध्यम से jframe1 खोलना चाहता हूं (यह कार्य किया जाता है और यह कोड है)

      public void actionPerformed(ActionEvent e) {
if(e.getSource()==jButton2){
jframe2 regFace =new jframe2();
regFace.setVisible(true);
}}

* एक बार jframe2 में jbutton द्वारा खोले गए jframe1 को इसे अवश्य दिखाना चाहिए, यह चयनित पंक्ति के सभी डेटा को jframe2 में प्रदर्शित करता है - इसका मतलब यह है कि

........- एक बार jfram1 द्वारा jfram1 को jframe 2 में खोलने पर sql क्वेरी निष्पादित हुई

......... ऊपर उल्लिखित पंक्ति के अनुसार डेटाबेस से डेटाबेस में ले जाने वाले jtextfield में डेटा दिखाना (यह कार्य किया जाता है और यह कोड है लेकिन पूरा नहीं हुआ है)

try {
dbconnect = new myDbConnection();
ResultSet resultSet =null;
resultSet = dbconnect.excuteQuery("SELECT id, area,location, status1 FROM pledges where id="17"");

while (resultSet.next()){
id.setText(resultSet.getString(1));
area.setText(resultSet.getString(2));
location.setText(resultSet.getString(3));
status.setText(resultSet.getString(4));
//         i = Long.parseLong(rs1.getString(1));
}

* संक्षेप में मैं jETT1 को समझना चाहता हूं कि कृपया यदि आपने jframe2 द्वारा खोला है तो किसी क्वेरी को निष्पादित करें और उस क्वेरी द्वारा टेक्स्ट फ़ील्ड भरें * यह तस्वीर है बेहतर स्पष्ट होगा यहाँ

उत्तर:

जवाब के लिए 3 № 1

ऐसा लगता है कि जिस हिस्से से आपको परेशानी हो रही है, वह यह है कि टेबल से चयनित डेटा को jframe1 में फ़ील्ड में कैसे लाया जाए।

इस पर बहुत कुछ निर्भर करता है TableModel यह आपके में प्रयोग किया जाता है JTable। आप बस एक इस्तेमाल किया मान लिया DefaultTableModel, आप इस तरह से चयनित पंक्ति डेटा प्राप्त कर सकते हैं:

@Override
public void actionPerformed(ActionEvent e) {
int viewRow = myJTable.getSelectedRow();
int modelRow = myJTable.convertRowIndexToModel(viewRow);
DefaultTableModel model = (DefaultTableModel) myJTable.getModel();

// You will get a compiler warning on the following line, but there"s not much you can do about it beside suppress it
Vector<Object> rowVector = (Vector<Object>) model.getDataVector().get(modelRow);

jframe2 regFace =new jframe2();
regFace.setSelectedRow(rowVector);
regFace.setVisible(true);
}

और आपके पास अपनी jframe2 कक्षा में निम्न विधि होगी:

public void setSelectedRow(Vector<Object> row ) {
id.setText(row.get(0).toString());
area.setText(row.get(1).toString());
location.setText(row.get(2).toString());
status.setText(row.get(3).toString());
// continue for all columns
}

जवाब के लिए 0 № 2

इससे पहले कि मैं जवाब डालूं मैं @wolfcastle को धन्यवाद देता हूं कि वह एक अच्छा इंसान है। वह लगभग सवाल का जवाब देता है और मैं इसे sql क्वेरी और डेटाबेस के साथ अनुकूलित करने के लिए इसे संशोधित करता हूं। यह jfrme2 का कोड है

public void actionPerformed(ActionEvent e) {
if(e.getSource()==jButton2){
int viewRow = jTable1.getSelectedRow();
int modelRow = jTable1.convertRowIndexToModel(viewRow);
Object oc=  jTable1.getModel().getValueAt(modelRow, 0);
String vv=oc.toString();
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
jframe1 regFace =new jframe1();
try {
regFace.setSelectedRow(vv);
} catch (SQLException ex) {
Logger.getLogger(showp1.class.getName()).log(Level.SEVERE, null, ex);
}
regFace.setVisible(true);
}
}

और jframe1 के लिए कोड

public void setSelectedRow(String row ) throws SQLException {
dbconnect = new myDbConnection();
ResultSet resultSet =null;
System.out.print(row);
resultSet = dbconnect.excuteQuery("SELECT id, area,location, status1 ,date1,insname,oname,bname,street,junction,INSPSITION,recname1 FROM pledges where id=""+row+""");
while (resultSet.next()){
id.setText(resultSet.getString(1));
area.setText(resultSet.getString(2));
location.setText(resultSet.getString(3));
status.setText(resultSet.getString(4));
date.setText(resultSet.getString(5));
insname.setText(resultSet.getString(6));
oname.setText(resultSet.getString(7));
bname.setText(resultSet.getString(8));
street.setText(resultSet.getString(9));
junction.setText(resultSet.getString(10));
insposition.setText(resultSet.getString(11));
recname.setText(resultSet.getString(12));
}
}