Ich habe eine Frame wo ich in eine Form(DVD Name,DVD Preis etc.) ausfüllen kann. Nachdem ich das ausgefüllt habe, habe ich ein Button der das in ein JTabel hinzufügen soll jedoch ist dieser JTabel in einer anderen Frame. Code habe ich schon geschrieben aber bin jetzt bischen verwirrt um erlich zu sein.
Ich weis jetzt nicht genau wie ich das machen muss.
Mein Code mit dem JTABLE:
Der andere Frame mit der Form:
Ich weis jetzt nicht genau wie ich das machen muss.
Mein Code mit dem JTABLE:
Code:
package cw;
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;
class Product implements Comparable {
private String name;
private int cost;
public Product(int c, String n) {
cost = c;
name = n;
}
public Product() {
this (0,"defaul");
}
public int getCost() {
return cost;
}
public String getName() {
return name;
}
public int compareTo(Object o) {
Product temp = (Product) o;
return (name.compareTo(temp.name));
}
}
public class DVD extends JFrame implements ActionListener
{
ArrayList products = new ArrayList();
JPanel panInput = new JPanel( new GridLayout(3,1)),
panAdd = new JPanel(),
panDelSort = new JPanel();
JButton btnAdd = new JButton("Add"),
btnDelete = new JButton("Delete"),
btnSort = new JButton("Sort Products");
JTable tab = new JTable();
JMenuBar menubar = new JMenuBar();
JMenu file = new JMenu("File");
JMenu Edit = new JMenu("Edit");
JMenuItem save = new JMenuItem("Save");
JMenuItem exit = new JMenuItem("Exit");
JMenuItem AddDVD = new JMenuItem("Add DVD");
JMenuItem UpdateDVD = new JMenuItem("Update DVD");
JMenuItem SearchDVD = new JMenuItem("Search DVD");
DefaultTableModel tabMod = new DefaultTableModel();
Product [] initialProducts = {};
public DVD() {
super("Product list");
tab.setModel(tabMod);
tabMod.addColumn("Title");
tabMod.addColumn("Type");
tabMod.addColumn("Notes");
tabMod.addColumn("Price");
tabMod.addColumn("Image");
btnAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
}
});
btnDelete.setToolTipText("Select the records to delete first");
btnDelete.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
}
});
btnSort.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
}
});
menubar.add(file);
menubar.add(Edit);
file.add(save);
file.add(exit);
Edit.add(AddDVD);
Edit.add(UpdateDVD);
Edit.add(SearchDVD);
//panDelSort.add(btnAdd);
// panDelSort.add(btnDelete);
// panDelSort.add(btnSort);
panInput.add(panAdd);
panInput.add(panDelSort);
exit.addActionListener(this);
AddDVD.addActionListener(this);
UpdateDVD.addActionListener(this);
SearchDVD.addActionListener(this);
this.setJMenuBar(menubar);
getContentPane().add(panInput, BorderLayout.SOUTH);
getContentPane().add(new JScrollPane(tab));
loadInitialProducts();
}
public void loadInitialProducts() {
for (int i = 0; i < initialProducts.length; i++) {
products.add(initialProducts[i]);
}
loadProductsIntoTable();
}
public void loadProductsIntoTable() {
tabMod.setRowCount(0);
String [] row = new String [2];
for (Iterator i = products.iterator(); i.hasNext();) {
Product temp = (Product) i.next();
row[0] = temp.getName();
row[1] = Integer.toString(temp.getCost());
tabMod.addRow(row);
}
}
public static void main(String [] a){
DVD me = new DVD();
me.addWindowListener(new WindowAdapter () {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0) ;
}
});
me.pack();
me.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == AddDVD) {
new AddDVD();
} else {
if (e.getSource() == SearchDVD) {
new SearchDVD();
} else {
if (e.getSource() == UpdateDVD) {
new UpdateDVD();
}
else if (e.getSource() == exit) {
System.exit(0);
}
}
}
}
}
Der andere Frame mit der Form:
Code:
package cw;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import javax.swing.*;
import javax.swing.filechooser.FileNameExtensionFilter;
import static javax.swing.JOptionPane.*;
public class AddDVD extends
JFrame implements ActionListener {
JTextField jtfTitle,jtfPrice,jtfImage,jtfNotes;
JButton btnadd,btnclear,btnimage;
JComboBox jcbType = new JComboBox();
LibraryData db = new LibraryData();
int value;
String name,notes,image;
boolean type,ok;
public AddDVD() {
btnadd = new JButton("Add new DVD/Music");
btnclear = new JButton("Clear Fields");
btnimage = new JButton("Upload Image");
jtfTitle = new JTextField(30);
jtfPrice = new JTextField(5);
jtfNotes = new JTextField(40);
jtfImage = new JTextField(50);
setLayout(new BorderLayout());
setBounds(400, 400, 450, 200);
setTitle("Add DVD/Music");
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setResizable(false);
setVisible(true);
JPanel top = new JPanel();
top.setLayout(new GridLayout(6, 3));
top.add(new JLabel("Title: ", JLabel.RIGHT));
top.add(jtfTitle);
top.add(new JLabel("Type:", JLabel.RIGHT));
top.add(jcbType);
String[] ratingStr = {
"Film","Music"};
for (int i = 0; i < ratingStr.length; ++i)
{
jcbType.addItem(ratingStr[i]);
}
jcbType.setBackground(Color.lightGray);
jcbType.setFocusable(true);
top.add(new JLabel("Notes:", JLabel.RIGHT));
top.add(jtfNotes);
top.add(new JLabel("Price:", JLabel.RIGHT));
top.add(jtfPrice);
top.add(new JLabel("Image:", JLabel.RIGHT));
top.add(jtfImage);
add("North", top);
JPanel bottom = new JPanel();
bottom.add(btnadd);
btnadd.addActionListener(this);
bottom.add(btnclear);
btnclear.addActionListener(this);
bottom.add(btnimage);
btnimage.addActionListener(this);
add("South", bottom);}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnadd){
LibraryData.dataConection();
try {
name = jtfTitle.getText();
if (name.equals("")){
showMessageDialog(this,"Enter DVD name");return;
}
if (jcbType.getSelectedItem() =="DVD"){type = true;}
else{type = false;}
notes = jtfNotes.getText();
value = Integer.parseInt(jtfPrice.getText());
image= jtfImage.getText();
} catch (Exception nfe) {
System.out.println(nfe.toString());
JOptionPane.showMessageDialog(this, " Please Input Value of Item in Numbers only ");
return;
}
LibraryData.add(name, type, notes, value, image);
if (!ok) {
JOptionPane.showMessageDialog(this, " Item Successfully added to Database");
}
if (ok) {
JOptionPane.showMessageDialog(this, "Item Could Not be added into the Database ");
}
}
else if (e.getSource() ==btnimage)
{
try
{
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("C:\\Users\\Serdar\\Desktop\\CW\\"));
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
FileNameExtensionFilter filter = new FileNameExtensionFilter(
"Image files", "jpg", "png");
chooser.setFileFilter(filter);
try
{
int code = chooser.showOpenDialog(this);
if (code == JFileChooser.APPROVE_OPTION) {
File selectedFile = chooser.getSelectedFile();
jtfImage.setText(selectedFile.getName());}
}
catch (Exception f) {}
}
catch(Exception ev){}
}
else if (e.getSource() == btnclear) {
jtfTitle.setText("");
jtfNotes.setText("");
jtfPrice.setText("");
jtfImage.setText("");
}
}
}