diff --git a/.classpath b/.classpath
index 029d499..838a207 100644
--- a/.classpath
+++ b/.classpath
@@ -12,7 +12,6 @@
-
@@ -20,5 +19,6 @@
+
diff --git a/cookbook.db b/cookbook.db
new file mode 100644
index 0000000..7c8f9e4
Binary files /dev/null and b/cookbook.db differ
diff --git a/src/main/java/db/Cookbook.java b/src/main/java/db/Cookbook.java
index 2061dea..57cb63c 100644
--- a/src/main/java/db/Cookbook.java
+++ b/src/main/java/db/Cookbook.java
@@ -10,7 +10,8 @@ import java.util.List;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
-import db.Recipe;
+import ksiazka.kucharska.CB_Model;
+
public class Cookbook {
@@ -75,7 +76,7 @@ public class Cookbook {
return true;
}
- public boolean insertRecipe(Recipe ob) {
+ public boolean insertRecipe(CB_Model ob) {
try {
PreparedStatement prepStmt = conn.prepareStatement(
"INSERT INTO recipes VALUES (NULL, ?, ?, ?, ?, ?);");
@@ -96,8 +97,8 @@ public class Cookbook {
return true;
}
- public Recipe selectRecipe(String name) {
- Recipe selectedRecipe;
+ public CB_Model selectRecipe(String name) {
+ CB_Model selectedRecipe;
try {
PreparedStatement query = conn.prepareStatement("SELECT * FROM recipes WHERE name=?");
query.setString(1, name);
@@ -110,7 +111,7 @@ public class Cookbook {
description = result.getString("description");
tags = result.getString("tags");
pict = new ImageIcon(result.getBytes("img"));
- selectedRecipe = new Recipe(id, name, ingredients, description, tags, pict);
+ selectedRecipe = new CB_Model(id, name, ingredients, description, tags, pict);
} catch (SQLException e) {
e.printStackTrace();
diff --git a/src/main/java/ksiazka/kucharska/App.java b/src/main/java/ksiazka/kucharska/App.java
index 36671b4..ee6b3e4 100644
--- a/src/main/java/ksiazka/kucharska/App.java
+++ b/src/main/java/ksiazka/kucharska/App.java
@@ -16,15 +16,16 @@ public class App
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
- System.out.println( "tworzę fMain..." );
- FrmMain fMain = new FrmMain();
+ CB_View theView = new CB_View();
+ CB_Model theModel = new CB_Model();
+ CB_Controller theController = new CB_Controller(theView, theModel);
- //wyśrodkowanie okna na ekranie
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
- int x = (screenSize.width - fMain.getWidth()) / 2;
- int y = (screenSize.height - fMain.getHeight()) / 2;
- fMain.setLocation(x, y);
- fMain.setVisible(true);
+ int x = (screenSize.width - theView.getWidth()) / 2;
+ int y = (screenSize.height - theView.getHeight()) / 2;
+ theView.setLocation(x, y);
+ theView.setVisible(true);
+ theController.fillList();
} catch (Exception e) {
e.printStackTrace();
}
diff --git a/src/main/java/ksiazka/kucharska/CB_Controller.java b/src/main/java/ksiazka/kucharska/CB_Controller.java
new file mode 100644
index 0000000..21d5046
--- /dev/null
+++ b/src/main/java/ksiazka/kucharska/CB_Controller.java
@@ -0,0 +1,211 @@
+package ksiazka.kucharska;
+
+import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+
+import javax.imageio.ImageIO;
+import javax.swing.DefaultListModel;
+import javax.swing.ImageIcon;
+import javax.swing.JFileChooser;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JOptionPane;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+
+import db.Cookbook;
+
+public class CB_Controller {
+ private static CB_View theView;
+ private static CB_Model theModel;
+
+ public CB_Controller(CB_View theView, CB_Model theModel) {
+ CB_Controller.theView = theView;
+ CB_Controller.theModel = theModel;
+ CB_Controller.theView.addListener(new AddListener());
+ CB_Controller.theView.delListener(new DelListener());
+ CB_Controller.theView.loadListener(new LoadListener());
+ CB_Controller.theView.cancelListener(new CancelListener());
+ CB_Controller.theView.saveListener(new SaveListener());
+ CB_Controller.theView.listSelectListener(new SelectionListener());
+ }
+
+ public void fillList(){
+ Cookbook myCb = new Cookbook();
+ List names = myCb.selectNames();
+ theView.setRecipesList(names);
+ myCb.closeConnection();
+ }
+ public static void fillComponents(String name){
+ Cookbook myCb = new Cookbook();
+ theModel = myCb.selectRecipe(name);
+ theView.setRecipeTitle(theModel.getName());
+ theView.setRecipeIngredients(theModel.getIngredients());
+ theView.setRecipeDescription(theModel.getDescription());
+ theView.setRecipeTags(theModel.getTags());
+ theView.setRecipeIcon(theModel.getImage());
+ theView.resetCaretPositions();
+ myCb.closeConnection();
+ }
+ public static void addNewRecipe(){
+ Cookbook myCb = new Cookbook();
+
+ RecipeManager rm = new RecipeManager();
+ rm.setRecipeBuilder(new NewRecipeBuilder());
+ rm.constructRecipe();
+
+ CB_Model obj = rm.getRecipe();
+ myCb.insertRecipe(obj);
+
+ myCb.closeConnection();
+ }
+ public static void removeRecipe(String name){
+ Cookbook myCb = new Cookbook();
+ myCb.deleteRecipe(name);
+ myCb.closeConnection();
+ }
+
+ class AddListener implements ActionListener{
+
+ public void actionPerformed(ActionEvent e) {
+
+ try{
+ theView.ActivateAddMenu();
+ }
+
+ catch(NumberFormatException ex){
+ ex.printStackTrace();
+ }
+ }
+ }
+
+ class DelListener implements ActionListener{
+
+ public void actionPerformed(ActionEvent e) {
+
+ try{
+ JList recipesList = theView.getRecipesList();
+ DefaultListModel model = (DefaultListModel) recipesList.getModel();
+ if (recipesList.getSelectedIndex() != -1)
+ {
+ int dialogResult = JOptionPane.showConfirmDialog (null, "Czy na pewno chcesz usunąć przepis?", "Pytanie", JOptionPane.YES_NO_OPTION);
+ if(dialogResult == JOptionPane.YES_OPTION){
+ RetrieveData.removeRecipe(recipesList.getSelectedValue().toString());
+ model.remove(recipesList.getSelectedIndex());
+ if (recipesList.getModel().getSize()>0)
+ {
+ recipesList.setSelectedIndex(0);
+ RetrieveData.fillComponents(recipesList.getSelectedValue().toString());
+ }
+ else
+ {
+ theView.setRecipeTitle("Nazwa przepisu");
+ theView.setRecipeIngredients("");
+ theView.setRecipeDescription("");
+ theView.setRecipeTags("");
+ }
+ }
+ }
+ }
+
+ catch(NumberFormatException ex){
+ ex.printStackTrace();
+ }
+ }
+ }
+
+ class LoadListener implements ActionListener{
+
+ public void actionPerformed(ActionEvent e) {
+
+ try{
+ JFileChooser fcImg = theView.getFileChooser();
+ int returnVal = fcImg.showOpenDialog(theView);
+ if (returnVal == JFileChooser.APPROVE_OPTION) {
+ File file = fcImg.getSelectedFile();
+ try {
+ BufferedImage srcImg = ImageIO.read(file);
+ JLabel imgRecipe = theView.getImgRecipe();
+ int w = (int)Math.ceil(srcImg.getWidth()/(double)srcImg.getHeight()*imgRecipe.getHeight());
+
+ BufferedImage resizedImg = new BufferedImage(w, imgRecipe.getHeight(), BufferedImage.TYPE_INT_ARGB);
+ Graphics2D g2 = resizedImg.createGraphics();
+ g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
+ g2.drawImage(srcImg, 0, 0, w, imgRecipe.getHeight(), null);
+ g2.dispose();
+ ImageIcon iconLogo = new ImageIcon(resizedImg);
+ imgRecipe.setIcon(iconLogo);
+
+ } catch (IOException e1) {
+ e1.printStackTrace();
+ }
+ }
+ }
+
+ catch(NumberFormatException ex){
+ ex.printStackTrace();
+ }
+ }
+ }
+
+ class CancelListener implements ActionListener{
+
+ public void actionPerformed(ActionEvent e) {
+
+ try{
+ theView.DeactivateAddMenu();
+ JList recipesList = theView.getRecipesList();
+ if(recipesList.getSelectedIndex() != -1)
+ fillComponents(recipesList.getSelectedValue().toString());
+ }
+
+ catch(NumberFormatException ex){
+ ex.printStackTrace();
+ }
+ }
+ }
+
+ class SaveListener implements ActionListener{
+
+ public void actionPerformed(ActionEvent e) {
+
+ try{
+ addNewRecipe();
+ /*JList recipesList = theView.getRecipesList();
+ DefaultListModel model = (DefaultListModel) recipesList.getModel();
+ model.addElement(theView.getRecipeTitle());*/
+ theView.DeactivateAddMenu();
+ /*recipesList.setSelectedIndex(recipesList.getModel().getSize()-1);
+ fillComponents(recipesList.getSelectedValue().toString());*/
+ }
+
+ catch(NumberFormatException ex){
+ ex.printStackTrace();
+ }
+ }
+ }
+
+ class SelectionListener implements ListSelectionListener{
+
+ public void valueChanged(ListSelectionEvent e) {
+
+ try{
+ JList recipesList = theView.getRecipesList();
+ if(recipesList.getSelectedIndex() != -1)
+ fillComponents(recipesList.getSelectedValue().toString());
+ }
+
+ catch(NumberFormatException ex){
+ ex.printStackTrace();
+ }
+ }
+ }
+
+
+}
diff --git a/src/main/java/db/Recipe.java b/src/main/java/ksiazka/kucharska/CB_Model.java
similarity index 90%
rename from src/main/java/db/Recipe.java
rename to src/main/java/ksiazka/kucharska/CB_Model.java
index e815079..b33c71c 100644
--- a/src/main/java/db/Recipe.java
+++ b/src/main/java/ksiazka/kucharska/CB_Model.java
@@ -1,4 +1,4 @@
-package db;
+package ksiazka.kucharska;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
@@ -7,7 +7,7 @@ import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
-public class Recipe {
+public class CB_Model {
private int id;
private String name;
private String ingredients;
@@ -50,7 +50,6 @@ public class Recipe {
}
public byte[] getImageArr() {
try {
- //przekształcam ImageIcon -> BufferedImage
BufferedImage bImg = new BufferedImage(img.getIconWidth(), img.getIconHeight(), BufferedImage.TYPE_INT_ARGB);
bImg.getGraphics().drawImage(img.getImage(), 0,0, null);
@@ -71,8 +70,8 @@ public class Recipe {
}
}
- public Recipe() {}
- public Recipe(int id, String name, String ingredients, String description, String tags, ImageIcon img) {
+ public CB_Model() {}
+ public CB_Model(int id, String name, String ingredients, String description, String tags, ImageIcon img) {
this.id = id;
this.name = name;
this.ingredients = ingredients;
diff --git a/src/main/java/ksiazka/kucharska/CB_View.java b/src/main/java/ksiazka/kucharska/CB_View.java
new file mode 100644
index 0000000..ee67ecd
--- /dev/null
+++ b/src/main/java/ksiazka/kucharska/CB_View.java
@@ -0,0 +1,285 @@
+package ksiazka.kucharska;
+
+import java.awt.*;
+import java.awt.event.ActionListener;
+import java.util.List;
+
+import javax.swing.*;
+import javax.swing.border.EmptyBorder;
+import javax.swing.border.LineBorder;
+import javax.swing.event.ListSelectionListener;
+import javax.swing.filechooser.FileNameExtensionFilter;
+
+public class CB_View extends JFrame{
+ private static final long serialVersionUID = 2634383304749703669L;
+ private JTextField txtSearch = new JTextField();
+ private JTextField txtEdTitle = new JTextField();
+ private JTextField txtTags = new JTextField();
+ private JTextArea txtDescription = new JTextArea();
+ private JTextArea txtIngredients = new JTextArea();
+ private JButton btnAddRecipe = new JButton("Nowy");
+ private JButton btnDelRecipe = new JButton("Usuń");
+ private JButton btnLoadImg = new JButton("Wczytaj");
+ private JButton btnCancel = new JButton("Anuluj");
+ private JButton btnSave = new JButton("Dodaj");
+ private ImageIcon imgDefaultRecipe = new ImageIcon();
+ private JScrollPane scrollPane_1 = new JScrollPane();
+ private JScrollPane scrollPane_2 = new JScrollPane();
+ private JSplitPane splitPane = new JSplitPane();
+ private DefaultListModel recipesListModel = new DefaultListModel();
+ private JList recipesList = new JList(recipesListModel);
+ private JLabel lblIngredients = new JLabel("Składniki:");
+ private JLabel lblDescription = new JLabel("Opis wykonania:");
+ private JLabel imgRecipe = new JLabel("");
+ private JLabel lblRecipeTitle = new JLabel("Nazwa przepisu");
+ private JLabel lblTags = new JLabel("Tagi:");
+ private JFileChooser fcImg = new JFileChooser();
+ private JScrollPane scrollPane = new JScrollPane();
+
+ CB_View(){
+ this.setResizable(false);
+ this.setTitle("Książka Kucharska v1.0");
+ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ this.setBounds(100, 100, 723, 549);
+
+ JPanel contentPane = new JPanel();
+ contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
+ contentPane.setLayout(new BorderLayout(0, 0));
+ this.setContentPane(contentPane);
+
+ splitPane.setResizeWeight(0.1);
+ splitPane.setRequestFocusEnabled(false);
+ splitPane.setPreferredSize(new Dimension(200, 27));
+ splitPane.setDividerSize(5);
+ splitPane.setEnabled(false);
+ contentPane.add(splitPane, BorderLayout.CENTER);
+
+ JPanel panel = new JPanel();
+ panel.setMaximumSize(new Dimension(100, 32767));
+ splitPane.setLeftComponent(panel);
+ GridBagLayout gbl_panel = new GridBagLayout();
+ gbl_panel.columnWidths = new int[] {0, 0};
+ gbl_panel.rowHeights = new int[] {0, 0, 0};
+ gbl_panel.columnWeights = new double[]{1.0, 1.0};
+ gbl_panel.rowWeights = new double[]{0.0, 1.0, 0.0};
+ panel.setLayout(gbl_panel);
+
+ GridBagConstraints gbc_txtSearch = new GridBagConstraints();
+ gbc_txtSearch.gridwidth = 2;
+ gbc_txtSearch.insets = new Insets(5, 5, 5, 0);
+ gbc_txtSearch.fill = GridBagConstraints.HORIZONTAL;
+ gbc_txtSearch.gridx = 0;
+ gbc_txtSearch.gridy = 0;
+ txtSearch.setColumns(10);
+
+ scrollPane_2.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
+ scrollPane_2.setMaximumSize(new Dimension(100, 100));
+ scrollPane_2.setViewportView(recipesList);
+ GridBagConstraints gbc_scrollPane_2 = new GridBagConstraints();
+ gbc_scrollPane_2.gridwidth = 2;
+ gbc_scrollPane_2.insets = new Insets(0, 0, 5, 0);
+ gbc_scrollPane_2.fill = GridBagConstraints.BOTH;
+ gbc_scrollPane_2.gridx = 0;
+ gbc_scrollPane_2.gridy = 1;
+
+ GridBagConstraints gbc_btnAddRecipe = new GridBagConstraints();
+ gbc_btnAddRecipe.fill = GridBagConstraints.HORIZONTAL;
+ gbc_btnAddRecipe.insets = new Insets(0, 5, 0, 5);
+ gbc_btnAddRecipe.gridx = 0;
+ gbc_btnAddRecipe.gridy = 2;
+
+ GridBagConstraints gbc_btnDelRecipe = new GridBagConstraints();
+ gbc_btnDelRecipe.fill = GridBagConstraints.HORIZONTAL;
+ gbc_btnDelRecipe.gridx = 1;
+ gbc_btnDelRecipe.gridy = 2;
+
+ JPanel panel_2 = new JPanel();
+ splitPane.setRightComponent(panel_2);
+ panel_2.setLayout(null);
+
+ btnSave.setVisible(false);
+ btnSave.setBounds(319, 12, 117, 25);
+
+ txtEdTitle.setVisible(false);
+ txtEdTitle.setBounds(26, 15, 281, 19);
+ txtEdTitle.setColumns(10);
+
+ lblRecipeTitle.setFont(new Font("Dialog", Font.BOLD, 18));
+ lblRecipeTitle.setBounds(12, 12, 442, 22);
+
+ lblIngredients.setBounds(26, 61, 70, 15);
+
+ imgRecipe.setHorizontalAlignment(SwingConstants.CENTER);
+ imgRecipe.setBorder(new LineBorder(SystemColor.textHighlightText));
+ imgRecipe.setBounds(272, 88, 164, 126);
+
+ FileNameExtensionFilter ffAll = new FileNameExtensionFilter("Wszystkie grafiki", "jpg", "jpeg", "gif", "png");
+ fcImg.addChoosableFileFilter(ffAll);
+ fcImg.addChoosableFileFilter(new FileNameExtensionFilter("Pliki JPEG", "jpg", "jpeg"));
+ fcImg.addChoosableFileFilter(new FileNameExtensionFilter("Pliki GIF", "gif"));
+ fcImg.addChoosableFileFilter(new FileNameExtensionFilter("Pliki PNG", "png"));
+ fcImg.setAcceptAllFileFilterUsed(false);
+ fcImg.setFileFilter(ffAll);
+ imgDefaultRecipe = new ImageIcon("no_img_recipe.jpg");
+ imgRecipe.setIcon(imgDefaultRecipe);
+
+ btnLoadImg.setVisible(false);
+
+ scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
+ scrollPane.setBounds(26, 254, 410, 196);
+
+ txtDescription = new JTextArea();
+ txtDescription.setEditable(false);
+ txtDescription.setLineWrap(true);
+ scrollPane.setViewportView(txtDescription);
+ btnLoadImg.setBounds(304, 217, 102, 25);
+
+ txtTags.setEditable(false);
+ txtTags.setBounds(26, 480, 410, 19);
+ txtTags.setColumns(10);
+
+ lblTags.setBounds(26, 462, 70, 15);
+
+ btnCancel.setVisible(false);
+ btnCancel.setBounds(319, 46, 117, 25);
+
+ lblDescription.setBounds(26, 227, 152, 15);
+
+ scrollPane_1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
+ scrollPane_1.setBounds(26, 88, 228, 126);
+
+ txtIngredients.setEditable(false);
+ txtIngredients.setLineWrap(true);
+ scrollPane_1.setViewportView(txtIngredients);
+
+ scrollPane_2.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
+ scrollPane_2.setMaximumSize(new Dimension(100, 100));
+ scrollPane_2.setViewportView(recipesList);
+
+ gbc_scrollPane_2.gridwidth = 2;
+ gbc_scrollPane_2.insets = new Insets(0, 0, 5, 0);
+ gbc_scrollPane_2.fill = GridBagConstraints.BOTH;
+ gbc_scrollPane_2.gridx = 0;
+ gbc_scrollPane_2.gridy = 1;
+
+ panel.add(txtSearch, gbc_txtSearch);
+ panel.add(scrollPane_2, gbc_scrollPane_2);
+ panel.add(btnAddRecipe, gbc_btnAddRecipe);
+ panel.add(btnDelRecipe, gbc_btnDelRecipe);
+ panel.add(txtSearch, gbc_txtSearch);
+ panel_2.add(btnSave);
+ panel_2.add(txtEdTitle);
+ panel_2.add(lblRecipeTitle);
+ panel_2.add(lblIngredients);
+ panel_2.add(lblTags);
+ panel_2.add(imgRecipe);
+ panel_2.add(scrollPane);
+ panel_2.add(btnLoadImg);
+ panel_2.add(txtTags);
+ panel_2.add(btnCancel);
+ panel_2.add(lblDescription);
+ panel_2.add(scrollPane_1);
+ }
+
+ public String getRecipeTitle(){
+ return lblRecipeTitle.getText().toString();
+ }
+ public String getRecipeIngredients(){
+ return txtIngredients.getText().toString();
+ }
+ public String getRecipeDescription(){
+ return txtDescription.getText().toString();
+ }
+ public String getRecipeTags(){
+ return txtTags.getText().toString();
+ }
+ public JFileChooser getFileChooser(){
+ return fcImg;
+ }
+ public JList getRecipesList(){
+ return recipesList;
+ }
+ public JLabel getImgRecipe(){
+ return imgRecipe;
+ }
+
+ public void setRecipeTitle(String name){
+ lblRecipeTitle.setText(name);
+ }
+ public void setRecipeIngredients(String ingredients){
+ txtIngredients.setText(ingredients);
+ }
+ public void setRecipeDescription(String description){
+ txtDescription.setText(description);
+ }
+ public void setRecipeTags(String tags){
+ txtTags.setText(tags);
+ }
+ public void setRecipesList(List names){
+ for (String r : names)
+ {
+ recipesListModel.addElement(r);
+ }
+ }
+ public void setRecipeIcon(Icon icon){
+ imgRecipe.setIcon(icon);
+ }
+ public void resetCaretPositions(){
+ txtDescription.setCaretPosition(0);
+ txtIngredients.setCaretPosition(0);
+ }
+
+ void addListener(ActionListener listenForAddButton){
+ btnAddRecipe.addActionListener(listenForAddButton);
+ }
+ void delListener(ActionListener listenForDelButton){
+ btnDelRecipe.addActionListener(listenForDelButton);
+ }
+ void loadListener(ActionListener listenForLoadButton){
+ btnLoadImg.addActionListener(listenForLoadButton);
+ }
+ void cancelListener(ActionListener listenForAddButton){
+ btnCancel.addActionListener(listenForAddButton);
+ }
+ void saveListener(ActionListener listenForAddButton){
+ btnSave.addActionListener(listenForAddButton);
+ }
+ void listSelectListener(ListSelectionListener listenForSelectionChagnge){
+ recipesList.addListSelectionListener(listenForSelectionChagnge);
+ }
+
+ void DeactivateAddMenu() {
+ btnAddRecipe.setEnabled(true);
+ btnCancel.setVisible(false);
+ btnDelRecipe.setEnabled(true);
+ btnLoadImg.setVisible(false);
+ txtSearch.setEnabled(true);
+ btnSave.setVisible(false);
+ txtDescription.setEditable(false);
+ txtEdTitle.setVisible(false);
+ txtIngredients.setEditable(false);
+ txtTags.setEditable(false);
+ lblRecipeTitle.setVisible(true);
+ recipesList.setEnabled(true);
+ }
+
+ void ActivateAddMenu() {
+ btnAddRecipe.setEnabled(false);
+ btnCancel.setVisible(true);
+ btnDelRecipe.setEnabled(false);
+ btnLoadImg.setVisible(true);
+ txtSearch.setEnabled(false);
+ btnSave.setVisible(true);
+ txtDescription.setEditable(true);
+ txtEdTitle.setVisible(true);
+ txtIngredients.setEditable(true);
+ txtTags.setEditable(true);
+ lblRecipeTitle.setVisible(false);
+ recipesList.setEnabled(false);
+ imgRecipe.setIcon(imgDefaultRecipe);
+ txtDescription.setText("");
+ txtEdTitle.setText("");
+ txtIngredients.setText("");
+ txtTags.setText("");
+ }
+}
diff --git a/src/main/java/ksiazka/kucharska/FrmMain.java b/src/main/java/ksiazka/kucharska/FrmMain.java
index cbd08ae..966ceb5 100644
--- a/src/main/java/ksiazka/kucharska/FrmMain.java
+++ b/src/main/java/ksiazka/kucharska/FrmMain.java
@@ -53,8 +53,13 @@ public class FrmMain extends JFrame {
*/
private static final long serialVersionUID = 2634383304749703669L;
private JPanel contentPane;
+<<<<<<< HEAD
public static JTextField txtSearch;
public static JTextField txtEdTitle;
+=======
+ private JTextField txtSearch;
+ public static JTextField txtEdTitle;
+>>>>>>> 17d917cc3f055645be7f87095a3ba404b9b885e9
public static JTextField txtTags;
private JButton btnSave;
private JButton btnCancel;
@@ -101,8 +106,6 @@ public class FrmMain extends JFrame {
lblRecipeTitle.setVisible(false);
recipesList.setEnabled(false);
imgRecipe.setIcon(imgDefaultRecipe);
-
- //czyszczenie pól formularza
txtDescription.setText("");
txtEdTitle.setText("");
txtIngredients.setText("");
@@ -147,8 +150,11 @@ public class FrmMain extends JFrame {
panel.setLayout(gbl_panel);
txtSearch = new JTextField();
+<<<<<<< HEAD
txtSearch.setText("");
+=======
+>>>>>>> 17d917cc3f055645be7f87095a3ba404b9b885e9
GridBagConstraints gbc_txtSearch = new GridBagConstraints();
gbc_txtSearch.gridwidth = 2;
gbc_txtSearch.insets = new Insets(5, 5, 5, 0);
@@ -282,14 +288,12 @@ public class FrmMain extends JFrame {
btnLoadImg.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
- //otwórz okno dialogowe
int returnVal = fcImg.showOpenDialog(FrmMain.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fcImg.getSelectedFile();
try {
- BufferedImage srcImg = ImageIO.read(file); //czytaj plik
+ BufferedImage srcImg = ImageIO.read(file);
- //wyznacz szerokość obrazka jako stosunek (przy maksymalizacji wysokości
int w = (int)Math.ceil(srcImg.getWidth()/(double)srcImg.getHeight()*imgRecipe.getHeight());
BufferedImage resizedImg = new BufferedImage(w, imgRecipe.getHeight(), BufferedImage.TYPE_INT_ARGB);
@@ -374,4 +378,4 @@ public class FrmMain extends JFrame {
}
});
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/ksiazka/kucharska/RecipeBuilder.java b/src/main/java/ksiazka/kucharska/RecipeBuilder.java
index ad32d5a..d518fbb 100644
--- a/src/main/java/ksiazka/kucharska/RecipeBuilder.java
+++ b/src/main/java/ksiazka/kucharska/RecipeBuilder.java
@@ -1,18 +1,17 @@
package ksiazka.kucharska;
import javax.swing.ImageIcon;
-import db.Recipe;
abstract class RecipeBuilder {
- protected Recipe rOb;
+ protected CB_Model rOb;
- public Recipe build() {
+ public CB_Model build() {
return rOb;
}
public void newRecipe() {
- rOb = new Recipe();
+ rOb = new CB_Model();
}
public abstract void buildTitle();
@@ -68,7 +67,7 @@ class RecipeManager {
public void setRecipeBuilder(RecipeBuilder rb) {
recipeBuilder = rb;
}
- public Recipe getRecipe() {
+ public CB_Model getRecipe() {
return recipeBuilder.build();
}
public void constructRecipe() {
diff --git a/src/main/java/ksiazka/kucharska/RetrieveData.java b/src/main/java/ksiazka/kucharska/RetrieveData.java
index 72c9c23..a30bff1 100644
--- a/src/main/java/ksiazka/kucharska/RetrieveData.java
+++ b/src/main/java/ksiazka/kucharska/RetrieveData.java
@@ -3,6 +3,7 @@ package ksiazka.kucharska;
import java.util.List;
import javax.swing.DefaultListModel;
+import javax.swing.ImageIcon;
import db.AllRecipes;
import db.Cookbook;
@@ -50,12 +51,14 @@ public class RetrieveData extends FrmMain{
}
public static void fillComponents(String name){
Cookbook myCb = new Cookbook();
- Recipe myRecipe = myCb.selectRecipe(name);
+ CB_Model myRecipe = myCb.selectRecipe(name);
lblRecipeTitle.setText(name);
txtIngredients.setText(myRecipe.getIngredients());
txtDescription.setText(myRecipe.getDescription());
txtTags.setText(myRecipe.getTags());
imgRecipe.setIcon(myRecipe.getImage());
+ txtDescription.setCaretPosition(0);
+ txtIngredients.setCaretPosition(0);
myCb.closeConnection();
}
public static void addNewRecipe(){
@@ -65,7 +68,7 @@ public class RetrieveData extends FrmMain{
rm.setRecipeBuilder(new NewRecipeBuilder());
rm.constructRecipe();
- Recipe obj = rm.getRecipe();
+ CB_Model obj = rm.getRecipe();
myCb.insertRecipe(obj);
//myCb.insertRecipe(txtEdTitle.getText(), txtIngredients.getText(), txtDescription.getText(), txtTags.getText(), (ImageIcon)imgRecipe.getIcon());