Пример #1
0
  private void initGUI() {

    all = new JPanel();
    all.setLayout(new BorderLayout());
    all.setBackground(GV.BORDER_COLOR);
    all.setBorder(BorderFactory.createTitledBorder(""));

    // BUTTONS UP
    butUp = new JPanel();
    BoxLayout bUpLayout = new BoxLayout(butUp, BoxLayout.X_AXIS);
    butUp.setLayout(bUpLayout);
    butUp.setBorder(new EtchedBorder());
    bUp = new JButton[10];
    {
      Dimension butUpDim = new Dimension(24, 24);

      bUp[0] = createButUp("star1.png", "star2.png", "Generate new Sudoku", butUpDim);
      butUp.add(bUp[0]);
      bUp[1] = createButUp("board1.png", "board2.png", "Create new Sudoku", butUpDim);
      butUp.add(bUp[1]);
      bUp[2] = createButUp("open1.png", "open2.png", "Open Sudoku", butUpDim);
      butUp.add(bUp[2]);
      bUp[3] = createButUp("disk1.png", "disk2.png", "Save Sudoku As", butUpDim);
      butUp.add(bUp[3]);

      // SEPARATOR
      createButUpSeparator();

      bUp[4] = createButUp("redo1.png", "redo2.png", "Redo", butUpDim);
      butUp.add(bUp[4]);
      setKeyAcceleratorButton(bUp[4], actButUp, "redo", 'Y', Event.CTRL_MASK);

      bUp[5] = createButUp("undo1.png", "undo2.png", "Undo", butUpDim);
      butUp.add(bUp[5]);
      setKeyAcceleratorButton(bUp[5], actButUp, "undo", 'Z', Event.CTRL_MASK);

      // SEPARATOR
      createButUpSeparator();

      bUp[6] = createButUp("bin1.png", "bin2.png", "Clear Sudoku", butUpDim);
      butUp.add(bUp[6]);

      bUp[7] = createButUp("help1.png", "help2.png", "Hint", butUpDim);
      butUp.add(bUp[7]);
      System.out.println("***********************************");

      bUp[8] = createButUp("tick1.png", "tick2.png", "Solve", butUpDim);
      butUp.add(bUp[8]);

      // SEPARATOR
      createButUpSeparator();

      // Difficulty
      butUp.add(Box.createRigidArea(GV.DIM_RA));
      JLabel diffLabel = new JLabel("Difficulty :  ");
      butUp.add(diffLabel);

      jTextDiff = new JTextField();
      jTextDiff.setEditable(false);
      jTextDiff.setText("Normal ");
      jTextDiff.setMaximumSize(new Dimension(60, 18));
      butUp.add(jTextDiff);

      butUp.add(Box.createRigidArea(new Dimension(85, 1)));
      bUp[9] = createButUp("cross1.png", "cross2.png", "<HTML>Close</HTML>", butUpDim);
      butUp.add(bUp[9]);
      setKeyAcceleratorButton(bUp[9], actButUp, "close", Event.ESCAPE, 0);
    }

    all.add(butUp, BorderLayout.NORTH);

    // GRID
    sGrid = new SudGrid(this);
    sGrid.setBorder(new LineBorder(new Color(238, 238, 238), 4, false));
    all.add(sGrid, BorderLayout.CENTER);

    // BUTONS DOWN
    butDown = new JPanel();
    BoxLayout butLayout = new BoxLayout(butDown, BoxLayout.X_AXIS);
    butDown.setLayout(butLayout);
    butDown.setBorder(new LineBorder(GV.BORDER_COLOR, 2, false));
    butDown.setBackground(GV.BORDER_COLOR);

    bDown = new JButton[9];
    {
      butDown.add(Box.createRigidArea(GV.DIM_RA));
      for (int i = 0; i < bDown.length; i++) {
        bDown[i] = new JButton();
        butDown.add(bDown[i]);
        bDown[i].setText("" + (i + 1));
        bDown[i].addActionListener(bHDown);
        butDown.add(Box.createRigidArea(GV.DIM_RA));
        bDown[i].setToolTipText("<HTML>Press" + (i + 1) + "<HTML>");
        setKeyAcceleratorButton(bDown[i], actButDown, "press" + (i + 1), 49 + i, 0);
        // bDown[i].setBackground(GlobalVars.BORDER_COLOR);
      }

      delBut = new JButton();
      delBut.addActionListener(bHDown);
      butDown.add(delBut);
      delBut.setText("Delete");
      delBut.setToolTipText("<HTML>Press D <HTML>");
      setKeyAcceleratorButton(delBut, actButDown, "delBut", 'D', 0);
      // delBut.setBackground(GlobalVars.BORDER_COLOR);

      lastBut = bDown[0];
      lastBut.setForeground(Color.BLUE);
      lastBut.requestFocus();
    }

    // FileChooser
    fc = new JFileChooser();
    fc.addChoosableFileFilter(
        new FileFilter() {
          public boolean accept(File f) {
            if (f.isDirectory()) return true;
            return f.getName().toLowerCase().endsWith(".ssud");
          }

          public String getDescription() {
            return GV.NAME + "Save File (*.ssud)";
          }
        });

    fc.setMultiSelectionEnabled(false);

    all.add(butDown, BorderLayout.SOUTH);
  }