Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.GridLayout;
- import java.awt.Image;
- import java.awt.event.ItemEvent;
- import java.awt.event.ItemListener;
- import java.util.ArrayList;
- import java.util.Random;
- import javax.swing.Icon;
- import javax.swing.ImageIcon;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JTextPane;
- import javax.swing.JToggleButton;
- import javax.swing.SwingConstants;
- public class Choose {
- JFrame frame;
- private JLabel lblChoose;
- private JTextPane txtInfo;
- private JButton submitButton;
- private JLabel lblChoices, c1, c2, c3;
- private JPanel panel;
- private final String SOURCE = "resources\images\";
- public Choose() {
- initialize();
- }
- private void initialize() {
- frame = new JFrame();
- frame.getContentPane().setBackground(Color.WHITE);
- frame.setBounds(100, 100, 537, 671);
- frame.setLocationRelativeTo(null);
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.getContentPane().setLayout(null);
- lblChoose = new JLabel("Choose images");
- lblChoose.setBounds(128, 21, 262, 32);
- lblChoose.setHorizontalAlignment(SwingConstants.CENTER);
- lblChoose.setFont(new Font("Arial", Font.PLAIN, 27));
- frame.getContentPane().add(lblChoose);
- txtInfo = new JTextPane();
- txtInfo.setBounds(51, 51, 429, 57);
- txtInfo.setFont(new Font("Arial", Font.PLAIN, 14));
- txtInfo.setEditable(false);
- txtInfo.setText(" choose 3 images");
- frame.getContentPane().add(txtInfo);
- submitButton = new JButton("submit");
- submitButton.setBounds(397, 578, 83, 28);
- submitButton.setForeground(Color.BLACK);
- submitButton.setBackground(Color.WHITE);
- submitButton.setFont(new Font("Calibri", Font.PLAIN, 12));
- frame.getContentPane().add(submitButton);
- c1 = new JLabel();
- c1.setForeground(new Color(0, 0, 0));
- c1.setBackground(Color.WHITE);
- c1.setBounds(71, 540, 69, 66);
- frame.getContentPane().add(c1);
- c2 = new JLabel();
- c2.setForeground(new Color(0, 0, 0));
- c2.setBackground(Color.WHITE);
- c2.setBounds(141, 540, 69, 66);
- frame.getContentPane().add(c2);
- c3 = new JLabel();
- c3.setForeground(new Color(0, 0, 0));
- c3.setBackground(Color.WHITE);
- c3.setBounds(211, 540, 69, 66);
- frame.getContentPane().add(c3);
- lblChoices = new JLabel("your choices:");
- lblChoices.setBackground(Color.WHITE);
- lblChoices.setFont(new Font("Calibri", Font.PLAIN, 13));
- lblChoices.setBounds(71, 525, 92, 17);
- frame.getContentPane().add(lblChoices);
- panel1();
- }
- private void panel1() {
- panel = new JPanel();
- panel.setBackground(Color.WHITE);
- panel.setBounds(71, 120, 382, 398);
- GridLayout layout = new GridLayout(5, 5);
- panel.setLayout(layout);
- layout.setHgap(7);
- layout.setVgap(7);
- layout.layoutContainer(panel);
- createButtons();
- }
- private void createButtons() {
- JToggleButton[][] buttons = new JToggleButton[5][4];
- ArrayList<Integer> list = new ArrayList<Integer>();
- Random rand = new Random();
- for (int i = 0; i < buttons.length; i++) {
- for (int j = 0; j < buttons[i].length; j++) {
- int randomNum = rand.nextInt((300 - 1) + 1) + 1;
- while (list.contains(randomNum)) {
- randomNum = rand.nextInt((300 - 1) + 1) + 1;
- }
- list.add(randomNum);
- buttons[i][j] = new JToggleButton();
- buttons[i][j].setBackground(Color.WHITE);
- buttons[i][j].putClientProperty("randomNum", randomNum);
- ImageIcon icon = new ImageIcon(SOURCE + randomNum + ".gif");
- int offset = buttons[i][j].getInsets().left;
- buttons[i][j].setIcon(
- resizeIcon(icon, buttons[i][j].getWidth() - offset, buttons[i][j].getHeight() - offset));
- panel.add(buttons[i][j]);
- buttons[i][j].addItemListener(new ItemListener() {
- public void itemStateChanged(ItemEvent e) {
- int img = (Integer) ((JToggleButton) e.getSource()).getClientProperty("randomNum");
- if (e.getStateChange() == ItemEvent.SELECTED) {
- System.out.println("image " + img + " selected");
- c1.setIcon(new ImageIcon(new ImageIcon(SOURCE + img + ".gif").getImage()
- .getScaledInstance(65, 65, Image.SCALE_DEFAULT)));
- c2.setIcon(new ImageIcon(new ImageIcon(SOURCE + img + ".gif").getImage()
- .getScaledInstance(65, 65, Image.SCALE_DEFAULT)));
- c3.setIcon(new ImageIcon(new ImageIcon(SOURCE + img + ".gif").getImage()
- .getScaledInstance(65, 65, Image.SCALE_DEFAULT)));
- } else if (e.getStateChange() == ItemEvent.DESELECTED) {
- System.out.println("image " + img + " deselected");
- c1.setIcon(new ImageIcon());
- c2.setIcon(new ImageIcon());
- c3.setIcon(new ImageIcon());
- }
- }
- });
- frame.getContentPane().add(panel);
- }
- }
- }
- private Icon resizeIcon(ImageIcon icon, int resizedWidth, int resizedHeight) {
- Image img = icon.getImage();
- Image resizedImage = img.getScaledInstance(65, 65, java.awt.Image.SCALE_SMOOTH);
- return new ImageIcon(resizedImage);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement