Example #1
0
    public ImageIcon createCheckBoxImageIcon(boolean checked, boolean highlighted) {

      CheckBoxIcon cbIcon = new CheckBoxIcon(13);
      BufferedImage image = new BufferedImage(13, 13, (BufferedImage.TYPE_INT_ARGB));
      ImageIcon icon = new ImageIcon(image);
      Graphics2D g2d = image.createGraphics();

      cbIcon.paintIcon(checked, highlighted, g2d, 0, 0);

      return icon;
    }
Example #2
0
      RowHeaderRenderer(JTable table) {

        CheckBoxIcon cbIcon = new CheckBoxIcon(13);
        iconUnChecked = cbIcon.createCheckBoxImageIcon(false, false);
        iconChecked = cbIcon.createCheckBoxImageIcon(true, false);

        setOpaque(true);

        setBorder(
            BorderFactory.createCompoundBorder(
                BorderFactory.createMatteBorder(
                    0,
                    0,
                    1,
                    1,
                    geogebra.awt.Color.getAwtColor(GeoGebraColorConstants.TABLE_GRID_COLOR)),
                BorderFactory.createEmptyBorder(0, 5, 0, 2)));

        setHorizontalAlignment(LEFT);
        setFont(table.getFont());
      }
Example #3
0
  private void createGUI() {
    // set table and column renderers
    dataTable.setDefaultRenderer(Object.class, new MyCellRenderer());
    columnHeader = new MyColumnHeaderRenderer();
    columnHeader.setPreferredSize(
        new Dimension(preferredColumnWidth, SpreadsheetSettings.TABLE_CELL_HEIGHT));
    for (int i = 0; i < dataTable.getColumnCount(); ++i) {
      dataTable.getColumnModel().getColumn(i).setHeaderRenderer(columnHeader);
      dataTable.getColumnModel().getColumn(i).setPreferredWidth(preferredColumnWidth);
    }

    // disable row selection (for now)
    dataTable.setColumnSelectionAllowed(false);
    dataTable.setRowSelectionAllowed(false);

    // dataTable.setAutoResizeMode(JTable.);
    dataTable.setPreferredScrollableViewportSize(dataTable.getPreferredSize());
    dataTable.setMinimumSize(new Dimension(100, 50));
    // dataTable.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
    dataTable.setAutoCreateColumnsFromModel(false);
    dataTable.setGridColor(TABLE_GRID_COLOR);

    // create a scrollPane for the table
    scrollPane = new JScrollPane(dataTable);
    scrollPane.setBorder(BorderFactory.createEmptyBorder());

    // create row header
    rowHeader = new MyRowHeader(this, dataTable);
    scrollPane.setRowHeaderView(rowHeader);

    // create enableAll button and put it in the upper left corner
    CheckBoxIcon cbIcon = new CheckBoxIcon(13);
    ImageIcon iconUnChecked = cbIcon.createCheckBoxImageIcon(false, false);
    ImageIcon iconChecked = cbIcon.createCheckBoxImageIcon(true, false);

    btnEnableAll = new JButton();
    btnEnableAll.setIcon(iconUnChecked);
    btnEnableAll.setDisabledIcon(iconChecked);
    btnEnableAll.setEnabled(false);
    btnEnableAll.setBorderPainted(false);
    btnEnableAll.setBackground(
        geogebra.awt.Color.getAwtColor(GeoGebraColorConstants.TABLE_BACKGROUND_COLOR_HEADER));
    btnEnableAll.setContentAreaFilled(false);
    btnEnableAll.setHorizontalAlignment(SwingConstants.LEFT);
    btnEnableAll.addActionListener(this);

    Corner upperLeftCorner = new Corner();
    upperLeftCorner.setLayout(new BorderLayout());
    upperLeftCorner.add(btnEnableAll, BorderLayout.WEST);

    upperLeftCorner.setBorder(
        BorderFactory.createCompoundBorder(
            BorderFactory.createMatteBorder(0, 0, 1, 1, TABLE_GRID_COLOR),
            BorderFactory.createEmptyBorder(0, 5, 0, 2)));

    // set the other corners
    scrollPane.setCorner(ScrollPaneConstants.UPPER_LEFT_CORNER, upperLeftCorner);
    scrollPane.setCorner(ScrollPaneConstants.LOWER_LEFT_CORNER, new Corner());
    scrollPane.setCorner(ScrollPaneConstants.UPPER_RIGHT_CORNER, new Corner());

    lblHeader = new JLabel();
    lblHeader.setHorizontalAlignment(JLabel.LEFT);
    lblHeader.setBorder(
        BorderFactory.createCompoundBorder(
            BorderFactory.createEtchedBorder(), BorderFactory.createEmptyBorder(2, 5, 2, 2)));

    // finally, load up our JPanel
    this.setLayout(new BorderLayout());
    this.add(lblHeader, BorderLayout.NORTH);
    this.add(scrollPane, BorderLayout.CENTER);
    this.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2));
    this.setMinimumSize(dataTable.getPreferredSize());
  }