2010-03-27 35 views
12

Tablo başlığı olmadan nasıl bir tablo oluşturacağımı söyleyen var mı?JTable başlıksız

Sudoku bulmacası yapıyorum ve Java'da tablo başlığı olmadan bir tablo oluşturmak istiyorum. Mümkün mü?

+0

başka yapıcısı ... veya varsayılan kullanın ... sütun adları eklemeyin? Umarım JTable hakkında konuşursunuz .. – RubyDubee

+2

@saurabh: 3133t burada hoş karşılanmaz. Gönderinizi düzelttim ama bir dahaki sefere "any1", "plz thx" ve birkaç "??" kullanarak kaçının. Cheezburger'i hazirlayabilir miyim? – SyntaxT3rr0r

+2

hangi masa? sandalyelere de ihtiyacı var mı? lol –

cevap

25

Ben size Sudoku kaydırmak istediğini sanmıyorum, bu yüzden kolay yolu değil başlığını görüntülemek için sorumlu olan bir JScrollPane, içine tablo koymak olmalıdır:

alt text


başka yolu Yani hile öncelikle ayarlamak gibi görünüyor

table.setTableHeader(null); 
+0

Benim için, hiçbir çözümün başlık üzerinde herhangi bir etkisi yoktur. Table.getTableHeader.setVisible (false) 'ı denedim bile ama hala başlığın olacağı boş bir gri nokta var. Bunun eski bir yazı olduğunu biliyorum; API değişti mi, yoksa bir şey mi eksik? –

+0

Görünüşe göre bir şey kaçırıyorsunuz, hem önerilen yolları denedim hem de çalışıyorlar. TableHeader'ı görünmez biçimde ayarlamak, düzen değişmediğinden gri bir nokta bırakır. Eğer bunu çözemezseniz, sorununuzu yeniden oluşturmak için kısa bir örnekle ve sonucun ekran görüntüsüyle başka bir soru sormaktan çekinmeyin. –

1

çağırmaktır DefaultTableModel yapıcısını kullanarak ancak daha sonra setTableHeader (null) çağrısı yapmak için üstbilgi;

package net.raysforge.visual.demo; 

import java.awt.BorderLayout; 
import java.awt.EventQueue; 
import java.awt.GridBagConstraints; 
import java.awt.GridBagLayout; 

import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.JScrollPane; 
import javax.swing.JTable; 
import javax.swing.table.DefaultTableModel; 
public class JTableAndGBC { 

    private String[] columnNames = {"Source", "Hit", "Last", "Ur_Diff"}; 
    private JTable table; 
    private Object[][] data = {{"Swing Timer", 2.99, 5, 1.01}, 
     {"Swing Worker", 7.10, 5, 1.010}, {"TableModelListener", 25.05, 5, 1.01}}; 
    private DefaultTableModel model = new DefaultTableModel(data, columnNames); 

    public JTableAndGBC() { 
     JPanel panel = new JPanel(new GridBagLayout()); 
     table = new JTable(model); 
     GridBagConstraints gbc = new GridBagConstraints(); 
     gbc.weightx = 1.0; 
     gbc.fill = GridBagConstraints.HORIZONTAL; 
     JScrollPane pane = new JScrollPane(table); 
     table.setPreferredScrollableViewportSize(table.getPreferredSize()); 
     table.setTableHeader(null); 
     panel.add(pane, gbc); 
     JFrame frame = new JFrame(); 
     frame.add(panel, BorderLayout.CENTER); 
     frame.pack(); 
     frame.setVisible(true); 
    } 

    public static void main(String args[]) throws Exception { 
     EventQueue.invokeLater(new Runnable() { 
      @Override 
      public void run() { 
       new JTableAndGBC(); 
      } 
     }); 
    } 
} 
3

Herkes önerilen yöntemlerin sorunlarınız aşağıdakileri deneyin: İşte

enter image description here

bazı demo kodudur

jTable.getTableHeader().setUI(null); 

Bu 8.

Java ile test edilir