Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JTable selectAll 
:(
    Опции темы
PashaOvechkin
Дата 13.2.2008, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

Репутация: 1
Всего: 4



Раньше работал в основном с вебом.
Пришлось перейти на десктоп... Куча вопросов.

Какой самый лучший способ в ЙТабле сделать сабж...
В йсф например, есть готовый компонент под ето.
В свинге кажется пусто!!

Что посоветуете?


PM MAIL Skype   Вверх
w1nd
Дата 14.2.2008, 01:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вертилятор
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 22.3.2006
Где: Москва

Репутация: 23
Всего: 54



table.getSelectionModel().setSelectionInterval(0, table.getRowCount());


--------------------
user posted imageuser posted image
PM MAIL ICQ   Вверх
PashaOvechkin
Дата 14.2.2008, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

Репутация: 1
Всего: 4



ето конечно круто, но по мне самый стандартный и интуитивно понятный способ выбирать 
все записи таблицы сразу, или по одной : 

Колонка, в хедере которой стоит чек бокс (селект алл/ деселект алл), ну и в каждом ряде тоже отделйный чек бокс...
Ну а самая большая проблема вставить в хедер что то (не уродливое) что могло бы позволить пользователю сделать сабж

PM MAIL Skype   Вверх
Kangaroo
Дата 14.2.2008, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 15
Всего: 104



Цитата(PashaOvechkin @  14.2.2008,  09:50 Найти цитируемый пост)
Ну а самая большая проблема вставить в хедер что то (не уродливое) что могло бы позволить пользователю сделать сабж

Так сделайте рендерер для хедера - панелька с комбобоксом.


--------------------
Lost....
PM MAIL MSN   Вверх
PashaOvechkin
Дата 14.2.2008, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

Репутация: 1
Всего: 4



Сделано давно  в нескольких вариантах - выглядит ужасно...

PM MAIL Skype   Вверх
Kangaroo
Дата 14.2.2008, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 15
Всего: 104



Цитата(PashaOvechkin @  14.2.2008,  11:25 Найти цитируемый пост)
Сделано давно  в нескольких вариантах - выглядит ужасно...

Тогда покажите код, скажите чего не нравится. Будем пытаться исправлять. Других вариантов сделать это нет.


--------------------
Lost....
PM MAIL MSN   Вверх
PashaOvechkin
Дата 14.2.2008, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

Репутация: 1
Всего: 4



Ето сам рендерер : 

Код


public class MyTableCellReenderer extends JCheckBox implements TableCellRenderer {
        // This method is called each time a cell in a column
        // using this renderer needs to be rendered.
        
        public MyTableCellReenderer(){
            
            super();
            //super ("<html> <center> OK </center></html>", SwingConstants.CENTER);
            //this.setText("<html> <center> OK </center></html>");
        }
        
        public Component getTableCellRendererComponent(JTable table, Object value,
                boolean isSelected, boolean hasFocus, int rowIndex, int vColIndex) {
            // 'value' is value contained in the cell located at
            // (rowIndex, vColIndex)
    
            if (isSelected) {
                // cell (and perhaps other cells) are selected
            }
    
            if (hasFocus) {
                // this cell is the anchor and the table has the focus
            }
    
            // Configure the component with the specified value
            setText(value.toString());
    
            // Set tool tip if desired
            setToolTipText((String)value);
    
            // Since the renderer is a component, return itself
            return this;
        }
    
        // The following methods override the defaults for performance reasons
        public void validate() {}
        public void revalidate() {}
        protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) {}
        public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue) {}
    }


так я его сечу :

Код


        MyTableCellReenderer a = new MyTableCellReenderer();
        table.getTableHeader().getColumnModel().getColumn(PositionsTableModel.COLUMN_CHECK).setHeaderRenderer( a );


Ничего особого... Но хедер изуродован полнустью...
Пробовал добавить лабел с листенером, тоже самое :|

Идеи?
PM MAIL Skype   Вверх
PashaOvechkin
Дата 14.2.2008, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

Репутация: 1
Всего: 4



да уж... Гуру молчат.
Неужели никто не решал сабж проблему...

И я оооочень удивлён что нету стандартного решения  smile 
PM MAIL Skype   Вверх
Kangaroo
Дата 14.2.2008, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 15
Всего: 104



PashaOvechkin, 
все правильно. Надо только поиграться, чтобы было похоже на стандартные хедеры (бодеры поменять, чекбокс в панель засунуть и выводить, етс).


Цитата(PashaOvechkin @  14.2.2008,  14:52 Найти цитируемый пост)
И я оооочень удивлён что нету стандартного решения 

Это нормальное стандартное решение. Я другого пока не знаю.

Это сообщение отредактировал(а) Kangaroo - 14.2.2008, 16:32


--------------------
Lost....
PM MAIL MSN   Вверх
PashaOvechkin
Дата 14.2.2008, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

Репутация: 1
Всего: 4



Да, ето типо стандартное.


я о другом. Такая необходимая вещ для таблиц как САБЖ, могла бы решатся попроще - например добавлением параметра в конструктор, ну или как то там еще...

Хммм... Действителйно - попробую через панель...

Ни у кого нету готового примера? 
PM MAIL Skype   Вверх
Kangaroo
Дата 14.2.2008, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 15
Всего: 104



Вот код, отлично все работает:
Код

import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.event.*;
public class JTableHeaderCheckBox
{
  Object colNames[] = {"", "String", "String"};
  Object[][] data = {};
  DefaultTableModel dtm;
  JTable table;
  public void buildGUI()
  {
    dtm = new DefaultTableModel(data,colNames);
    table = new JTable(dtm);
    for(int x = 0; x < 5; x++)
    {
      dtm.addRow(new Object[]{new Boolean(false),"Row "+(x+1)+" Col 2","Row "+(x+1)+" Col 3"});
    }
    JScrollPane sp = new JScrollPane(table);
    TableColumn tc = table.getColumnModel().getColumn(0);
    tc.setCellEditor(table.getDefaultEditor(Boolean.class));
    tc.setCellRenderer(table.getDefaultRenderer(Boolean.class));
    tc.setHeaderRenderer(new CheckBoxHeader(new MyItemListener()));
    JFrame f = new JFrame();
    f.getContentPane().add(sp);
    f.pack();
    f.setLocationRelativeTo(null);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setVisible(true);
  }
  class MyItemListener implements ItemListener
  {
    public void itemStateChanged(ItemEvent e) {
      Object source = e.getSource();
      if (source instanceof AbstractButton == false) return;
      boolean checked = e.getStateChange() == ItemEvent.SELECTED;
      for(int x = 0, y = table.getRowCount(); x < y; x++)
      {
        table.setValueAt(new Boolean(checked),x,0);
      }
    }
  }
  public static void main (String[] args)
  {
    SwingUtilities.invokeLater(new Runnable(){
      public void run(){
        new JTableHeaderCheckBox().buildGUI();
      }
    });
  }
}
class CheckBoxHeader extends JCheckBox
    implements TableCellRenderer, MouseListener {
  protected CheckBoxHeader rendererComponent;
  protected int column;
  protected boolean mousePressed = false;
  public CheckBoxHeader(ItemListener itemListener) {
    rendererComponent = this;
    rendererComponent.addItemListener(itemListener);
  }
  public Component getTableCellRendererComponent(
      JTable table, Object value,
      boolean isSelected, boolean hasFocus, int row, int column) {
    if (table != null) {
      JTableHeader header = table.getTableHeader();
      if (header != null) {
        rendererComponent.setForeground(header.getForeground());
        rendererComponent.setBackground(header.getBackground());
        rendererComponent.setFont(header.getFont());
        header.addMouseListener(rendererComponent);
      }
    }
    setColumn(column);
    rendererComponent.setText("Check All");
    this.setBorderPainted(true);
    setBorder(UIManager.getBorder("TableHeader.cellBorder"));
    return rendererComponent;
  }
  protected void setColumn(int column) {
    this.column = column;
  }
  public int getColumn() {
    return column;
  }
  protected void handleClickEvent(MouseEvent e) {
    if (mousePressed) {
      mousePressed=false;
      JTableHeader header = (JTableHeader)(e.getSource());
      JTable tableView = header.getTable();
      TableColumnModel columnModel = tableView.getColumnModel();
      int viewColumn = columnModel.getColumnIndexAtX(e.getX());
      int column = tableView.convertColumnIndexToModel(viewColumn);
 
      if (viewColumn == this.column && e.getClickCount() == 1 && column != -1) {
        doClick();
      }
    }
  }
  public void mouseClicked(MouseEvent e) {
    handleClickEvent(e);
    ((JTableHeader)e.getSource()).repaint();
  }
  public void mousePressed(MouseEvent e) {
    mousePressed = true;
  }
  public void mouseReleased(MouseEvent e) {
  }
  public void mouseEntered(MouseEvent e) {
  }
  public void mouseExited(MouseEvent e) {
  }
}

Нашел тут и немного изменил ( добавил строчку this.setBorderPainted(true);). 
Красиво смотрится, попробуй.


--------------------
Lost....
PM MAIL MSN   Вверх
PashaOvechkin
Дата 14.2.2008, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

Репутация: 1
Всего: 4



Ого... smile
Спасибо! Сейчас попробую!!!!

Добавлено через 2 минуты и 31 секунду
Kangaroo, ето плюс! smile
Запустил пример - осталось интегрировать к себе...  smile 
PM MAIL Skype   Вверх
PashaOvechkin
Дата 14.2.2008, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

Репутация: 1
Всего: 4



Да, не всё так солнечно... smile 
Етот фрейм Kangaroo и правда хорош smile
но если изменить биулд метод на нот что виден ниже...
(добаляем лук енд фил )

Код


  public void buildGUI()
  { 
      try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); }
      catch (ClassNotFoundException e) { /* Do nothing */ }
      catch (InstantiationException e) { /* Do nothing */ }
      catch (IllegalAccessException e) { /* Do nothing */ }
      catch (UnsupportedLookAndFeelException e) { /* Do nothing */  }
      Toolkit.getDefaultToolkit().setDynamicLayout(true);
      
    dtm = new DefaultTableModel(data,colNames);
    table = new JTable(dtm);
    for(int x = 0; x < 5; x++)
    {
      dtm.addRow(new Object[]{new Boolean(false),"Row "+(x+1)+" Col 2","Row "+(x+1)+" Col 3"});
    }
    JScrollPane sp = new JScrollPane(table);
    TableColumn tc = table.getColumnModel().getColumn(0);
    tc.setCellEditor(table.getDefaultEditor(Boolean.class));
    tc.setCellRenderer(table.getDefaultRenderer(Boolean.class));
    tc.setHeaderRenderer(new CheckBoxHeader(new MyItemListener()));
    JFrame f = new JFrame();
    f.getContentPane().add(sp);
    f.pack();
    f.setLocationRelativeTo(null);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setVisible(true);
    
      
  }


Хеадер виглядет совсем не нативно... Ужасно
PM MAIL Skype   Вверх
dorogoyIV
Дата 14.2.2008, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 36
Всего: 46



ты не туда LaF вставил, надо в конец метода
Код

  public void buildGUI()
  {
    dtm = new DefaultTableModel(data,colNames);
    table = new JTable(dtm);
    for(int x = 0; x < 5; x++)
    {
      dtm.addRow(new Object[]{new Boolean(false),"Row "+(x+1)+" Col 2","Row "+(x+1)+" Col 3"});
    }
    JScrollPane sp = new JScrollPane(table);
    TableColumn tc = table.getColumnModel().getColumn(0);
    tc.setCellEditor(table.getDefaultEditor(Boolean.class));
    tc.setCellRenderer(table.getDefaultRenderer(Boolean.class));
    tc.setHeaderRenderer(new CheckBoxHeader(new MyItemListener()));

    JFrame f = new JFrame();
    f.getContentPane().add(sp);
    f.pack();
    f.setLocationRelativeTo(null);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setVisible(true);
      try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());      }
      catch (ClassNotFoundException e) { /* Do nothing */ }
      catch (InstantiationException e) { /* Do nothing */ }
      catch (IllegalAccessException e) { /* Do nothing */ }
      catch (UnsupportedLookAndFeelException e) { /* Do nothing */  }
      Toolkit.getDefaultToolkit().setDynamicLayout(true);
  }

PM MAIL   Вверх
PashaOvechkin
Дата 14.2.2008, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

Репутация: 1
Всего: 4



smile) Можно конечно и в конец метода, только еффекта не будет никакого ;) 
Ето look and feel  options... На уровне ОС, и их надо устанавливать перед запуском ГУИ

Добавлено через 49 секунд
Посмотри как фрейм выглядит если устанавливаем в начале метода, и посмотри как он же выглядит если в конце установить 
PM MAIL Skype   Вверх
dorogoyIV
Дата 14.2.2008, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 36
Всего: 46



 smile так я ж и посмотрел  smile 
если в конце метода - хеадер нормально рисуется
а если в начале метода - непонятно что

может быть это только у меня так???
PM MAIL   Вверх
Warchief
Дата 14.2.2008, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 24.5.2007

Репутация: нет
Всего: 3



Цитата(dorogoyIV @  14.2.2008,  19:03 Найти цитируемый пост)
может быть это только у меня так???


нет у меня тоже так, в общем Ваш код работает прекрасно. Хотя всё-таки хотелось бы узнать почему так.
PM MAIL ICQ Skype   Вверх
PashaOvechkin
Дата 14.2.2008, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

Репутация: 1
Всего: 4



Ребят... В том то и дело что по разному, но!!!
Должный еффект от LaF виден только тогда, когда он установлен до прорисовки.
С ним всё выглядит классно - кроме хеадера... Судя по всему ето буг у сана.
Хотя не уверен... 

Вот, нарример, что то похожее...

Это сообщение отредактировал(а) PashaOvechkin - 14.2.2008, 19:53
PM MAIL Skype   Вверх
dorogoyIV
Дата 15.2.2008, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 36
Всего: 46



можно для других столбцов написать другой рендерер, что то вроде 
Код

class AnotherRenderer extends JPanel
                      implements TableCellRenderer
{
 public Component getTableCellRendererComponent(JTable table,
                    Object value, boolean isSelected,
                    boolean hasFocus, int row, int column)
 {
  setLayout(new BorderLayout());
  setBorder(new BevelBorder(BevelBorder.RAISED));
  add(new JLabel(" Another"));
  return this;
 }
}


вот целиком этот пример:
Код

import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.event.*;
import javax.swing.border.*;

public class JTableHeaderCheckBox
{
 Object colNames[] = {"", "String 1", "String 2"};
 Object [][] data = {};
 DefaultTableModel dtm;
 JTable table;

 public void buildGUI()
 {
  dtm = new DefaultTableModel(data, colNames);
  table = new JTable(dtm);
  for(int x = 0; x < 5; x++)
  {
   dtm.addRow(new Object[]{new Boolean(false),
                           "Row "+(x+1)+" Col 2",
                           "Row "+(x+1)+" Col 3"});
  }

  TableColumn tc = table.getColumnModel().getColumn(0);
  tc.setCellEditor(table.getDefaultEditor(Boolean.class));
  tc.setCellRenderer(table.getDefaultRenderer(Boolean.class));
  tc.setHeaderRenderer(new CheckBoxHeader(new MyItemListener()));

  for(int i=1; i < table.getColumnCount(); i++)
  {
   table.getColumnModel().getColumn(i)
          .setHeaderRenderer(
          new AnotherRenderer(colNames [i].toString()));
  }

  JFrame f = new JFrame();
  f.getContentPane().add(new JScrollPane(table));
  f.pack();
  f.setLocationRelativeTo(null);
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  f.setVisible(true);
 }

 class MyItemListener implements ItemListener
 {
  public void itemStateChanged(ItemEvent e)
  {
   Object source = e.getSource();
   if (source instanceof AbstractButton == false) return;

   boolean checked = (e.getStateChange() == ItemEvent.SELECTED);
   for(int x = 0; x < table.getRowCount(); x++)
   {
    table.setValueAt(new Boolean(checked), x, 0);
   }
  }
 }

 public static void main (String [] args)
 {
  SwingUtilities.invokeLater(new Runnable()
  {
   public void run()
   {
    try
    {
     UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
     new JTableHeaderCheckBox().buildGUI();
    }
    catch(Exception ex){
       /***/
    }
   }
  });
 }
}

class CheckBoxHeader extends JCheckBox
                     implements TableCellRenderer,
                                MouseListener
{
 protected int column;
 protected boolean mousePressed = false;

 public CheckBoxHeader(ItemListener itemListener) {
    addItemListener(itemListener);
 }

 public Component getTableCellRendererComponent(JTable table,
                    Object value, boolean isSelected,
                    boolean hasFocus, int row, int column)
 {
  if (table != null)
  {
   JTableHeader header = table.getTableHeader();
   if (header != null)
   {
    setForeground(header.getForeground());
    setBackground(header.getBackground());
    setFont(header.getFont());
    header.addMouseListener(this);
   }
  }
  setColumn(column);
  setText("Check All");
  setBorderPainted(true);
  setBorder(UIManager.getBorder("TableHeader.cellBorder"));
  return this;
 }

 protected void setColumn(int column) {
    this.column = column;
 }

 public int getColumn() {
    return column;
 }

 protected void handleClickEvent(MouseEvent e)
 {
  if (mousePressed)
  {
   mousePressed=false;
   JTableHeader header = (JTableHeader)e.getSource();
   JTable tableView = header.getTable();
   TableColumnModel columnModel = tableView.getColumnModel();
   int viewColumn = columnModel.getColumnIndexAtX(e.getX());
   int column = tableView.convertColumnIndexToModel(viewColumn);
 
   if(viewColumn == this.column && e.getClickCount() == 1
                                && column != -1)
   {
    doClick();
   }
  }
 }

 public void mouseClicked(MouseEvent e)
 {
  handleClickEvent(e);
//  ((JTableHeader)e.getSource()).repaint();
 }
 public void mousePressed(MouseEvent e) {
    mousePressed = true;
 }
 public void mouseReleased(MouseEvent e) {}
 public void mouseEntered(MouseEvent e) {}
 public void mouseExited(MouseEvent e) {}
}

class AnotherRenderer extends JPanel
                      implements TableCellRenderer
{
 String name;

 AnotherRenderer(String name)
 {
  this.name=name;
 }

 public Component getTableCellRendererComponent(JTable table,
                    Object value, boolean isSelected,
                    boolean hasFocus, int row, int column)
 {
  setLayout(new BorderLayout());
  setBorder(new BevelBorder(BevelBorder.RAISED));
  add(new JLabel(name));
  return this;
 }
}



Это сообщение отредактировал(а) dorogoyIV - 15.2.2008, 12:47
PM MAIL   Вверх
PashaOvechkin
Дата 15.2.2008, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

Репутация: 1
Всего: 4



С примером что то не так, в рендерере нету нужного конструктора, добавил, но всё равно не запускается - но ето не главное.
Тут проблема именно с Look'n feel. Если его он устанавлен как я и показывал, и операционка Vista или XP с темой "Windows XP", то крышка...
Ети рендереры русуют всё ужасно - можно попробовать. Ну и соответственно если добавить рендерер к остальным хедерам, они все будут корявыми :|
Тут или в ЙДК залезать  надо - или я на знаю как вообще...

Добавлено через 4 минуты и 7 секунд
Пордон, запускается всё как надо, просто рендерер вы показали отдельно, я его в соседний класс и засунул... smile 
Но проблема не решена
PM MAIL Skype   Вверх
Kangaroo
Дата 15.2.2008, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 15
Всего: 104



PashaOvechkin, 
попробуйте найти как сделан стандартный хедер в JTable и взять оттуда код.


--------------------
Lost....
PM MAIL MSN   Вверх
dorogoyIV
Дата 15.2.2008, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 36
Всего: 46



Цитата(PashaOvechkin @  15.2.2008,  13:10 Найти цитируемый пост)
Тут проблема именно с Look'n feel. Если его он устанавлен как я и показывал, и операционка Vista или XP с темой "Windows XP", то крышка...Ети рендереры русуют всё ужасно - можно попробовать. Ну и соответственно если добавить рендерер к остальным хедерам, они все будут корявыми :|

видимо пробема в ОС (у меня Windows XP) , так как мой пример у меня отображается без каких либо корявостей  smile
я пробовал разные LaF - все нормально
PM MAIL   Вверх
PashaOvechkin
Дата 15.2.2008, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

Репутация: 1
Всего: 4



В ХП проблема только в определённых темах... 
Kangaroo, ето у пытаюсь сейчас сделать. 
PM MAIL Skype   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0666 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.