|
|
- package ksiazka.kucharska;
-
- import java.awt.BorderLayout;
-
-
- import javax.imageio.ImageIO;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.border.EmptyBorder;
- import javax.swing.ImageIcon;
- import javax.swing.JFileChooser;
- import javax.swing.JSplitPane;
- import javax.swing.JButton;
- import javax.swing.JTextField;
-
- import java.awt.Graphics2D;
- import java.awt.GridLayout;
- import java.awt.GridBagLayout;
- import java.awt.GridBagConstraints;
- import java.awt.Image;
- import java.awt.Insets;
- import java.awt.RenderingHints;
-
- import javax.swing.JList;
- import javax.swing.JTextPane;
- import javax.swing.JLabel;
- import java.awt.Font;
- import javax.swing.border.LineBorder;
- import java.awt.SystemColor;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- import java.awt.image.BufferedImage;
- import java.io.File;
- import java.io.IOException;
- import javax.swing.SwingConstants;
-
- public class FrmMain extends JFrame {
-
- /**
- *
- */
- private static final long serialVersionUID = 2634383304749703669L;
- private JPanel contentPane;
- private JTextField txtSearch;
- private JTextField txtEdTitle;
- private JTextField txtTags;
- private JButton btnSave;
- private JButton btnCancel;
- private JTextPane txtIngredients;
- private JTextPane txtDescription;
- private JButton btnAddRecipe;
- private JButton btnSearch;
- private JButton btnDelRecipe;
- private JButton btnLoadImg;
- private JLabel lblRecipeTitle;
- private JLabel imgRecipe;
- private JFileChooser fcImg;
- private ImageIcon imgDefaultRecipe;
-
- void DeactivateAddMenu() {
- btnCancel.setVisible(false);
- btnDelRecipe.setEnabled(true);
- btnLoadImg.setVisible(false);
- btnSearch.setEnabled(true);
- btnSave.setVisible(false);
- txtDescription.setEditable(false);
- txtEdTitle.setVisible(false);
- txtIngredients.setEditable(false);
- txtTags.setEditable(false);
- lblRecipeTitle.setVisible(true);
- }
-
- void ActivateAddMenu() {
- btnCancel.setVisible(true);
- btnDelRecipe.setEnabled(false);
- btnLoadImg.setVisible(true);
- btnSearch.setEnabled(false);
- btnSave.setVisible(true);
- txtDescription.setEditable(true);
- txtEdTitle.setVisible(true);
- txtIngredients.setEditable(true);
- txtTags.setEditable(true);
- lblRecipeTitle.setVisible(false);
-
- //czyszczenie pól formularza
- txtDescription.setText("");
- txtEdTitle.setText("");
- txtIngredients.setText("");
- txtTags.setText("");
- }
-
- /**
- * Create the frame.
- */
- public FrmMain() {
- setResizable(false);
- setTitle("Książka Kucharska v1.0");
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setBounds(100, 100, 800, 549);
- contentPane = new JPanel();
- contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
- contentPane.setLayout(new BorderLayout(0, 0));
- setContentPane(contentPane);
-
- JSplitPane splitPane = new JSplitPane();
- splitPane.setDividerSize(5);
- splitPane.setEnabled(false);
- splitPane.setResizeWeight(0.1);
- contentPane.add(splitPane, BorderLayout.CENTER);
-
- JPanel panel = new JPanel();
- splitPane.setLeftComponent(panel);
- GridBagLayout gbl_panel = new GridBagLayout();
- gbl_panel.columnWidths = new int[] {0, 30};
- gbl_panel.rowHeights = new int[] {0, 0, 0};
- gbl_panel.columnWeights = new double[]{1.0, 0.0};
- gbl_panel.rowWeights = new double[]{0.0, 1.0, 0.0};
- panel.setLayout(gbl_panel);
-
- txtSearch = new JTextField();
- txtSearch.setText("wpisz tytuł/tagi...");
- GridBagConstraints gbc_txtSearch = new GridBagConstraints();
- gbc_txtSearch.insets = new Insets(0, 0, 5, 5);
- gbc_txtSearch.fill = GridBagConstraints.HORIZONTAL;
- gbc_txtSearch.gridx = 0;
- gbc_txtSearch.gridy = 0;
- panel.add(txtSearch, gbc_txtSearch);
- txtSearch.setColumns(10);
-
- btnSearch = new JButton("Szukaj");
- GridBagConstraints gbc_btnSearch = new GridBagConstraints();
- gbc_btnSearch.anchor = GridBagConstraints.NORTH;
- gbc_btnSearch.fill = GridBagConstraints.HORIZONTAL;
- gbc_btnSearch.insets = new Insets(0, 0, 5, 0);
- gbc_btnSearch.gridx = 1;
- gbc_btnSearch.gridy = 0;
- panel.add(btnSearch, gbc_btnSearch);
-
- JList recipesList = new JList();
- GridBagConstraints gbc_recipesList = new GridBagConstraints();
- gbc_recipesList.insets = new Insets(0, 0, 5, 0);
- gbc_recipesList.gridwidth = 2;
- gbc_recipesList.fill = GridBagConstraints.BOTH;
- gbc_recipesList.gridx = 0;
- gbc_recipesList.gridy = 1;
- panel.add(recipesList, gbc_recipesList);
-
- JPanel panel_1 = new JPanel();
- GridBagConstraints gbc_panel_1 = new GridBagConstraints();
- gbc_panel_1.gridwidth = 2;
- gbc_panel_1.gridheight = 0;
- gbc_panel_1.insets = new Insets(0, 0, 0, 5);
- gbc_panel_1.fill = GridBagConstraints.BOTH;
- gbc_panel_1.gridx = 0;
- gbc_panel_1.gridy = 2;
- panel.add(panel_1, gbc_panel_1);
- panel_1.setLayout(new GridLayout(0, 2, 0, 0));
-
- btnAddRecipe = new JButton("Dodaj");
- btnAddRecipe.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- ActivateAddMenu();
-
- }
- });
- panel_1.add(btnAddRecipe);
-
- btnDelRecipe = new JButton("Usuń");
- panel_1.add(btnDelRecipe);
-
- JPanel panel_2 = new JPanel();
- splitPane.setRightComponent(panel_2);
- panel_2.setLayout(null);
-
- btnSave = new JButton("Zapisz");
- btnSave.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- System.out.println("sprawdzam ikonę...");
- if (imgRecipe.getIcon() == imgDefaultRecipe.getImage())
- System.out.println("Ta sama ikona");
- DeactivateAddMenu();
- }
- });
- btnSave.setVisible(false);
- btnSave.setBounds(319, 12, 117, 25);
- panel_2.add(btnSave);
-
- txtEdTitle = new JTextField();
- txtEdTitle.setVisible(false);
- txtEdTitle.setBounds(12, 15, 295, 19);
- panel_2.add(txtEdTitle);
- txtEdTitle.setColumns(10);
-
- txtIngredients = new JTextPane();
- txtIngredients.setEditable(false);
- txtIngredients.setBounds(26, 88, 228, 126);
- panel_2.add(txtIngredients);
-
- txtDescription = new JTextPane();
- txtDescription.setEditable(false);
- txtDescription.setBounds(26, 254, 410, 196);
- panel_2.add(txtDescription);
-
- lblRecipeTitle = new JLabel("Nazwa przepisu");
- lblRecipeTitle.setFont(new Font("Dialog", Font.BOLD, 18));
- lblRecipeTitle.setBounds(12, 12, 442, 22);
- panel_2.add(lblRecipeTitle);
-
- JLabel lblIngredients = new JLabel("Składniki:");
- lblIngredients.setBounds(26, 61, 70, 15);
- panel_2.add(lblIngredients);
-
- JLabel lblDescription = new JLabel("Opis wykonania:");
- lblDescription.setBounds(26, 227, 152, 15);
- panel_2.add(lblDescription);
-
- imgRecipe = new JLabel("");
- imgRecipe.setHorizontalAlignment(SwingConstants.CENTER);
- imgRecipe.setBorder(new LineBorder(SystemColor.textHighlightText));
- imgRecipe.setBounds(272, 88, 164, 126);
- panel_2.add(imgRecipe);
-
- btnLoadImg = new JButton("Wczytaj");
-
- fcImg = new JFileChooser();
- imgDefaultRecipe = new ImageIcon("no_img_recipe.jpg");
- imgRecipe.setIcon(imgDefaultRecipe);
-
-
- btnLoadImg.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- int returnVal = fcImg.showOpenDialog(FrmMain.this);
-
- if (returnVal == JFileChooser.APPROVE_OPTION) {
- File file = fcImg.getSelectedFile();
- try {
- BufferedImage srcImg = ImageIO.read(file);
- int w = (int)Math.ceil(srcImg.getWidth()/(double)srcImg.getHeight()*imgRecipe.getHeight());
-
- System.out.println(w);
-
- 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 e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
-
- }
- }
- });
- btnLoadImg.setVisible(false);
- btnLoadImg.setBounds(304, 217, 102, 25);
- panel_2.add(btnLoadImg);
-
- txtTags = new JTextField();
- txtTags.setEditable(false);
- txtTags.setBounds(26, 480, 410, 19);
- panel_2.add(txtTags);
- txtTags.setColumns(10);
-
- JLabel lblTags = new JLabel("Tagi:");
- lblTags.setBounds(26, 462, 70, 15);
- panel_2.add(lblTags);
-
- btnCancel = new JButton("Anuluj");
- btnCancel.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- DeactivateAddMenu();
- }
- });
- btnCancel.setVisible(false);
- btnCancel.setBounds(319, 46, 117, 25);
- panel_2.add(btnCancel);
-
- }
- }
|