JYasProgramer
یک شنبه 20 دی 1394, 15:45 عصر
سلام دوستان
دو کلاس به نام های 1 - TransClass و 2 - DriverClass دارم
میخام از کلاس 2 به 1 داده انتقال بدم کد به شکل زیره
public class TransportationClass extends JPanel implements ActionListener {
private JTable table;
private JButton btnData, btnClose, btnDisplay = new JButton("نمایش");;
private static JFrame frame;
private Insets insets = new Insets(5, 5, 5, 5);
private DefaultTableModel dtm;
private String[] columnNames = {"ردیف",
"نام و نام خانوادگی",
"شماره ملی",
"نام خودرو",
"نوع خودرو",
"شماره پلاک"};
private Object[][] data = {
};
private dlCarPersonDetail dlCarPersonDetail = new dlCarPersonDetail();
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
createAndShowGUI();
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
private static void createAndShowGUI() {
frame = new JFrame("حمل و نقل");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);
// frame.setBounds(100, 100, 470, 300);
frame.add(new TransportationClass());
frame.pack();
frame.setVisible(true);
}
/**
* Create the frame.
*/
public TransportationClass() {
setLayout(new BorderLayout());
JPanel btnPane = new JPanel();
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c;
btnPane.setLayout(gridbag);
btnClose = new JButton("خروج");
btnClose.addActionListener(this);
c = new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, insets, 0, 0);
btnPane.add(btnClose, c);
btnDisplay = new JButton("نمایش");
btnDisplay.addActionListener(this);
c = new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, insets, 0, 0);
btnPane.add(btnDisplay, c);
btnData = new JButton("حمل و نقل");
btnData.addActionListener(this);
c = new GridBagConstraints(2, 0, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, insets, 0, 0);
btnPane.add(btnData, c);
table = new JTable();
dtm = new DefaultTableModel(data, columnNames);
table.setModel(dtm);
table.setComponentOrientation(ComponentOrientation .RIGHT_TO_LEFT);
c = new GridBagConstraints(0, 2, 3, 1, 2.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, insets, 0, 0);
btnPane.add(table, c);
JScrollPane scrollPane = new JScrollPane(table);
c = new GridBagConstraints(0, 2, 3, 1, 2.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, insets, 0, 0);
btnPane.add(scrollPane, c);
add(btnPane, BorderLayout.LINE_START);
}
private String str;
public TransportationClass(String str) {
this.str = str;
btnDisplay.setText(str);
}
@Override
public void actionPerformed(ActionEvent event) {
if (event.getSource() == btnData) {
DriverClass dc = new DriverClass();
dc.setVisible(true);
} else if (event.getSource() == btnDisplay) {
for (int i = 0; i < 1; i++) {
dtm.addRow(new Object[]{i, dlCarPersonDetail.getDlName(), dlCarPersonDetail.getDlSurname(), dlCarPersonDetail.getDlPersonID(),
dlCarPersonDetail.getDlCarName(), dlCarPersonDetail.getDlCarType(), dlCarPersonDetail.getDlCarNumber()});
}
} else {
}
}
}
کلاس 2
public class DriverClass extends JFrame implements ActionListener {
private JPanel contentPane;
private JTextField nameField;
private JTextField surNameField;
private JTextField personIdField;
private JComboBox carTypeBox;
private JTextField carNameField;
private JTextField carNumberField;
private dlCarPersonDetail dlCarPersonDetail;
/**
* Create the frame.
*/
public DriverClass() {
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setBounds(100, 100, 309, 301);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
dlCarPersonDetail = new dlCarPersonDetail();
JButton btnNewButton = new JButton("\u0630\u062E\u06CC\u0631\u0647");
btnNewButton.addActionListener(this);
btnNewButton.setBounds(10, 228, 89, 23);
contentPane.add(btnNewButton);
JLabel lblNewLabel = new JLabel("\u0646\u0627\u0645");
lblNewLabel.setBounds(220, 11, 46, 14);
contentPane.add(lblNewLabel);
JLabel lblNewLabel_1 = new JLabel("\u0646\u0627\u0645 \u062E\u0627\u0646\u0648\u0627\u062F\u06AF\u06CC");
lblNewLabel_1.setBounds(220, 42, 81, 14);
contentPane.add(lblNewLabel_1);
JLabel label = new JLabel("\u0634\u0645\u0627\u0631\u0647 \u0645\u0644\u06CC");
label.setBounds(220, 73, 81, 14);
contentPane.add(label);
nameField = new JTextField();
nameField.setBounds(10, 8, 169, 20);
nameField.setComponentOrientation(ComponentOrienta tion.RIGHT_TO_LEFT);
contentPane.add(nameField);
nameField.setColumns(10);
surNameField = new JTextField();
surNameField.setBounds(10, 39, 169, 20);
surNameField.setComponentOrientation(ComponentOrie ntation.RIGHT_TO_LEFT);
contentPane.add(surNameField);
surNameField.setColumns(10);
personIdField = new JTextField();
personIdField.setBounds(10, 70, 169, 20);
personIdField.setComponentOrientation(ComponentOri entation.RIGHT_TO_LEFT);
contentPane.add(personIdField);
personIdField.setColumns(10);
carNameField = new JTextField();
carNameField.setComponentOrientation(ComponentOrie ntation.RIGHT_TO_LEFT);
carNameField.setBounds(10, 128, 169, 20);
contentPane.add(carNameField);
carNameField.setColumns(10);
carNumberField = new JTextField();
carNumberField.setComponentOrientation(ComponentOr ientation.RIGHT_TO_LEFT);
carNumberField.setBounds(10, 190, 169, 20);
contentPane.add(carNumberField);
carNumberField.setColumns(10);
carTypeBox = new JComboBox();
carTypeBox.addItem("\u0628\u0627\u0631\u06CC");
carTypeBox.addItem("\u0633\u0648\u0627\u0631\u06CC");
carTypeBox.setBounds(10, 159, 169, 20);
contentPane.add(carTypeBox);
JLabel label_1 = new JLabel("\u0646\u0627\u0645 \u0645\u0627\u0634\u06CC\u0646");
label_1.setBounds(220, 131, 63, 14);
contentPane.add(label_1);
JLabel label_2 = new JLabel("\u0646\u0648\u0639 \u0645\u0627\u0634\u06CC\u0646");
label_2.setBounds(220, 162, 63, 14);
contentPane.add(label_2);
JLabel label_3 = new JLabel("\u0634\u0645\u0627\u0631\u0647 \u067E\u0644\u0627\u06A9");
label_3.setBounds(220, 193, 63, 14);
contentPane.add(label_3);
}
@Override
public void actionPerformed(ActionEvent arg0) {
dlCarPersonDetail.setDlName(nameField.getText());
dlCarPersonDetail.setDlPersonID(personIdField.getT ext());
dlCarPersonDetail.setDlSurname(surNameField.getTex t());
dlCarPersonDetail.setDlCarName(carNameField.getTex t());
dlCarPersonDetail.setDlCarNumber(carNumberField.ge tText());
dlCarPersonDetail.setDlCarType(carTypeBox.getSelec tedItem().toString());
DriverClass.this.dispose();
TransportationClass ts = new TransportationClass("Data");
// ts.getDlDate(dlCarPersonDetail);
}
کلاس اصلی TransClass هست وقتی که کلاس 2 رو فراخوانی میکنم و داده رو درج می کنم و میخام به کلاس 1 برگردم و سپس دکمه "نمایش" رو بزنم داده ها از بین میره<br>و نمیدونم مشکل کجاست<br>ممنون میشم از راهنماییتون
دو کلاس به نام های 1 - TransClass و 2 - DriverClass دارم
میخام از کلاس 2 به 1 داده انتقال بدم کد به شکل زیره
public class TransportationClass extends JPanel implements ActionListener {
private JTable table;
private JButton btnData, btnClose, btnDisplay = new JButton("نمایش");;
private static JFrame frame;
private Insets insets = new Insets(5, 5, 5, 5);
private DefaultTableModel dtm;
private String[] columnNames = {"ردیف",
"نام و نام خانوادگی",
"شماره ملی",
"نام خودرو",
"نوع خودرو",
"شماره پلاک"};
private Object[][] data = {
};
private dlCarPersonDetail dlCarPersonDetail = new dlCarPersonDetail();
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
createAndShowGUI();
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
private static void createAndShowGUI() {
frame = new JFrame("حمل و نقل");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);
// frame.setBounds(100, 100, 470, 300);
frame.add(new TransportationClass());
frame.pack();
frame.setVisible(true);
}
/**
* Create the frame.
*/
public TransportationClass() {
setLayout(new BorderLayout());
JPanel btnPane = new JPanel();
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c;
btnPane.setLayout(gridbag);
btnClose = new JButton("خروج");
btnClose.addActionListener(this);
c = new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, insets, 0, 0);
btnPane.add(btnClose, c);
btnDisplay = new JButton("نمایش");
btnDisplay.addActionListener(this);
c = new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, insets, 0, 0);
btnPane.add(btnDisplay, c);
btnData = new JButton("حمل و نقل");
btnData.addActionListener(this);
c = new GridBagConstraints(2, 0, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, insets, 0, 0);
btnPane.add(btnData, c);
table = new JTable();
dtm = new DefaultTableModel(data, columnNames);
table.setModel(dtm);
table.setComponentOrientation(ComponentOrientation .RIGHT_TO_LEFT);
c = new GridBagConstraints(0, 2, 3, 1, 2.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, insets, 0, 0);
btnPane.add(table, c);
JScrollPane scrollPane = new JScrollPane(table);
c = new GridBagConstraints(0, 2, 3, 1, 2.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, insets, 0, 0);
btnPane.add(scrollPane, c);
add(btnPane, BorderLayout.LINE_START);
}
private String str;
public TransportationClass(String str) {
this.str = str;
btnDisplay.setText(str);
}
@Override
public void actionPerformed(ActionEvent event) {
if (event.getSource() == btnData) {
DriverClass dc = new DriverClass();
dc.setVisible(true);
} else if (event.getSource() == btnDisplay) {
for (int i = 0; i < 1; i++) {
dtm.addRow(new Object[]{i, dlCarPersonDetail.getDlName(), dlCarPersonDetail.getDlSurname(), dlCarPersonDetail.getDlPersonID(),
dlCarPersonDetail.getDlCarName(), dlCarPersonDetail.getDlCarType(), dlCarPersonDetail.getDlCarNumber()});
}
} else {
}
}
}
کلاس 2
public class DriverClass extends JFrame implements ActionListener {
private JPanel contentPane;
private JTextField nameField;
private JTextField surNameField;
private JTextField personIdField;
private JComboBox carTypeBox;
private JTextField carNameField;
private JTextField carNumberField;
private dlCarPersonDetail dlCarPersonDetail;
/**
* Create the frame.
*/
public DriverClass() {
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setBounds(100, 100, 309, 301);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
dlCarPersonDetail = new dlCarPersonDetail();
JButton btnNewButton = new JButton("\u0630\u062E\u06CC\u0631\u0647");
btnNewButton.addActionListener(this);
btnNewButton.setBounds(10, 228, 89, 23);
contentPane.add(btnNewButton);
JLabel lblNewLabel = new JLabel("\u0646\u0627\u0645");
lblNewLabel.setBounds(220, 11, 46, 14);
contentPane.add(lblNewLabel);
JLabel lblNewLabel_1 = new JLabel("\u0646\u0627\u0645 \u062E\u0627\u0646\u0648\u0627\u062F\u06AF\u06CC");
lblNewLabel_1.setBounds(220, 42, 81, 14);
contentPane.add(lblNewLabel_1);
JLabel label = new JLabel("\u0634\u0645\u0627\u0631\u0647 \u0645\u0644\u06CC");
label.setBounds(220, 73, 81, 14);
contentPane.add(label);
nameField = new JTextField();
nameField.setBounds(10, 8, 169, 20);
nameField.setComponentOrientation(ComponentOrienta tion.RIGHT_TO_LEFT);
contentPane.add(nameField);
nameField.setColumns(10);
surNameField = new JTextField();
surNameField.setBounds(10, 39, 169, 20);
surNameField.setComponentOrientation(ComponentOrie ntation.RIGHT_TO_LEFT);
contentPane.add(surNameField);
surNameField.setColumns(10);
personIdField = new JTextField();
personIdField.setBounds(10, 70, 169, 20);
personIdField.setComponentOrientation(ComponentOri entation.RIGHT_TO_LEFT);
contentPane.add(personIdField);
personIdField.setColumns(10);
carNameField = new JTextField();
carNameField.setComponentOrientation(ComponentOrie ntation.RIGHT_TO_LEFT);
carNameField.setBounds(10, 128, 169, 20);
contentPane.add(carNameField);
carNameField.setColumns(10);
carNumberField = new JTextField();
carNumberField.setComponentOrientation(ComponentOr ientation.RIGHT_TO_LEFT);
carNumberField.setBounds(10, 190, 169, 20);
contentPane.add(carNumberField);
carNumberField.setColumns(10);
carTypeBox = new JComboBox();
carTypeBox.addItem("\u0628\u0627\u0631\u06CC");
carTypeBox.addItem("\u0633\u0648\u0627\u0631\u06CC");
carTypeBox.setBounds(10, 159, 169, 20);
contentPane.add(carTypeBox);
JLabel label_1 = new JLabel("\u0646\u0627\u0645 \u0645\u0627\u0634\u06CC\u0646");
label_1.setBounds(220, 131, 63, 14);
contentPane.add(label_1);
JLabel label_2 = new JLabel("\u0646\u0648\u0639 \u0645\u0627\u0634\u06CC\u0646");
label_2.setBounds(220, 162, 63, 14);
contentPane.add(label_2);
JLabel label_3 = new JLabel("\u0634\u0645\u0627\u0631\u0647 \u067E\u0644\u0627\u06A9");
label_3.setBounds(220, 193, 63, 14);
contentPane.add(label_3);
}
@Override
public void actionPerformed(ActionEvent arg0) {
dlCarPersonDetail.setDlName(nameField.getText());
dlCarPersonDetail.setDlPersonID(personIdField.getT ext());
dlCarPersonDetail.setDlSurname(surNameField.getTex t());
dlCarPersonDetail.setDlCarName(carNameField.getTex t());
dlCarPersonDetail.setDlCarNumber(carNumberField.ge tText());
dlCarPersonDetail.setDlCarType(carTypeBox.getSelec tedItem().toString());
DriverClass.this.dispose();
TransportationClass ts = new TransportationClass("Data");
// ts.getDlDate(dlCarPersonDetail);
}
کلاس اصلی TransClass هست وقتی که کلاس 2 رو فراخوانی میکنم و داده رو درج می کنم و میخام به کلاس 1 برگردم و سپس دکمه "نمایش" رو بزنم داده ها از بین میره<br>و نمیدونم مشکل کجاست<br>ممنون میشم از راهنماییتون