/** Die Methode speichert den Inhalt des Text Felder in die Datenbank */ private boolean addToDB() { myFrame.setCursorWait(); Vector<ContainerAttribute> myAtt = new Vector<ContainerAttribute>(); String objKey = ReqField.get(0).getText(); if (objKey.isEmpty() == false) { for (int i = 1; i < ReqField.size(); i++) { if (ReqField.get(i).getAtt().size() != 0 && ReqField.get(i).getText().isEmpty() == false) { myAtt.addAll(ReqField.get(i).getAtt()); } } for (int i = 0; i < OptField.size(); i++) { if (OptField.get(i).getAtt().size() != 0 && OptField.get(i).getText().isEmpty() == false) { myAtt.addAll(OptField.get(i).getAtt()); } } int ret = -1; // New Entry if (isNewEntry == true) { if (theDb.getObject(objKey) == null) { ret = theDb.setObject( new ContainerObject( -1, theDb.convTypeNameToTypeId(this.entryTypeString), objKey, myAtt)); } else { JOptionPane.showMessageDialog( null, Main.myLang.getString(Main.myLang.getString("textFildTab.existingkey.message")), Main.myLang.getString(Main.myLang.getString("textFildTab.existingkey.title")), JOptionPane.ERROR_MESSAGE); } } // Edit Entry else { if (theDb.getObject(objKey) != null) { } else { JOptionPane.showMessageDialog( null, Main.myLang.getString(Main.myLang.getString("textFildTab.changedkey.message")), Main.myLang.getString(Main.myLang.getString("textFildTab.changedkey.title")), JOptionPane.WARNING_MESSAGE); } ret = theDb.setObject( new ContainerObject( obj.getId(), theDb.convTypeNameToTypeId(this.entryTypeString), objKey, myAtt)); } // file into DB if (ret != -1) { try { theDb.setAllFiles(this.fileModel.getData(), ret); obj = theDb.getObject(ret); myFrame.setCursorNormal(); return true; } catch (PacketTooBigException e) { JOptionPane.showMessageDialog( null, Main.myLang.getString(Main.myLang.getString("textFildTab.FileSizeToSmall.message")), Main.myLang.getString(Main.myLang.getString("textFildTab.FileSizeToSmall.title")), JOptionPane.ERROR_MESSAGE); myFrame.setCursorNormal(); } } myFrame.setCursorNormal(); return false; } else { JOptionPane.showMessageDialog( null, Main.myLang.getString(Main.myLang.getString("textFildTab.missingKey.message")), Main.myLang.getString(Main.myLang.getString("textFildTab.missingKey.title")), JOptionPane.ERROR_MESSAGE); myFrame.setCursorNormal(); return false; } }
private JPanel getFilePanel(String typeName, Undomanager manager) { // PopupMenu init tablePopupMenu = new JPopupMenu(); JMenuItem tableOpenItem = new JMenuItem("Open"); tableOpenItem.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { openFile(rightClickedElement); } }); tablePopupMenu.add(tableOpenItem); // Main Panel init JPanel textFieldPanel = new JPanel(); JLabel typeLabel = new JLabel(typeName, JLabel.CENTER); typeLabel.setPreferredSize(new Dimension(150, 35)); // Tabel Init if (isNewEntry == false) { fileTable = new JTable(new FileTableModel(theDb.getAllFiles(obj.getId()))); } else { fileTable = new JTable(new FileTableModel(new Vector<ContainerFile>())); } fileModel = (FileTableModel) fileTable.getModel(); fileTable.getTableHeader().setReorderingAllowed(false); TableColumn col = fileTable.getColumnModel().getColumn(0); col.setMinWidth(25); col.setMaxWidth(50); col.setPreferredWidth(25); col = fileTable.getColumnModel().getColumn(3); col.setMinWidth(35); col.setMaxWidth(50); col.setPreferredWidth(35); // Listener f�r clicks on file Table // Double-Click => Open Edit Fild // Right-Click => Context Menu => Open fileTable.addMouseListener( new MouseAdapter() { public void mousePressed(MouseEvent e) { if (e.getButton() == MouseEvent.BUTTON3 && fileTable.rowAtPoint(e.getPoint()) != -1) { rightClickedElement = (ContainerFile) fileModel.getDataAt(fileTable.rowAtPoint(e.getPoint())); tablePopupMenu.show(e.getComponent(), e.getX(), e.getY()); } else if (e.getButton() == MouseEvent.BUTTON1 && e.getClickCount() == 2 && fileTable.rowAtPoint(e.getPoint()) != -1) { new FileDialog( fileModel, (ContainerFile) fileModel.getDataAt(fileTable.rowAtPoint(e.getPoint())), fileTable.rowAtPoint(e.getPoint()), myFrame); } } }); // Scrollpane init JScrollPane scrollPane = new javax.swing.JScrollPane(); scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); scrollPane.setViewportView(fileTable); scrollPane.setPreferredSize(new Dimension(0, 100)); // Button init JButton add = new JButton(new ImageIcon(getClass().getClassLoader().getResource("images/add.png"))); add.setToolTipText(Main.myLang.getString("button.add")); add.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { new FileDialog(fileModel, ((Component) myFrame)); } }); JButton del = new JButton(new ImageIcon("images/delete.png")); del.setToolTipText(Main.myLang.getString("button.delete")); del.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { int selectedRow = fileTable.getSelectedRow(); if (selectedRow != -1) { fileModel.removeData(selectedRow); // TODO: } fileModel.fireTableDataChanged(); fileTable.repaint(); } }); JButton open = new JButton(new ImageIcon(getClass().getClassLoader().getResource("images/folder.png"))); open.setToolTipText(Main.myLang.getString("button.open")); open.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { if (fileTable.getSelectedRow() != -1) { openFile(((ContainerFile) fileModel.getDataAt(fileTable.getSelectedRow()))); } } }); // Toolbar init JToolBar buttonBar = new JToolBar(); buttonBar.setOrientation(VERTICAL); buttonBar.setFloatable(false); buttonBar.add(add); buttonBar.add(del); buttonBar.add(open); // Zusammenf�gen textFieldPanel.setLayout(new BoxLayout(textFieldPanel, BoxLayout.LINE_AXIS)); textFieldPanel.setBorder(BorderFactory.createRaisedBevelBorder()); textFieldPanel.add(typeLabel); textFieldPanel.add(scrollPane); textFieldPanel.add(buttonBar); textFieldPanel.validate(); return textFieldPanel; }