Tabela do GUI swing

0

Szukam komponentu w stylu dbgrida - na starcie programu rozpoczynam z jednym wierszem i zadeklarowana liczba kolumn. Uzytkownik przez wcisniecie entera lub ikony powieksza ilosc wierszy. Uzupelnia rekordy a program jest wstanie z tego komponentu wyciagnac dwuwymiarowa tablice danych - albo poprzez gotowa metodę(najlepiej) lub poprzez napisanie petli...to juz nie az takie najwazniejsze... probowalem bawic sie poprzez umieszczenie w GridLayoucie TextFieldów. Tworzylem JTextField... i probowalem dodawac petla (zadeklarowana przez uzytkownika liczba wierszy np. w innym textfieldzie i gettext) kolejne wiersze do panelu...ale to nie dziala...

jakies wskazowki?

0

JTable?

0

Probowalem. Ale tworzylem Jtable o zadeklarowanej wielkosci. Jak dodac mozliwosc powiekszania?

0

Hejka

Tutorial do JTable
http://docs.oracle.com/javase/tutorial/uiswing/components/table.html

Dodaj listnera do klawisza enter, który będzie powiększał o jedno więcej pole np:

Tabelka.addRow(new Object[] { "", "", ""});

I dodatkowo bym dodał do tej tabelki Scroll.

0

wszystko pieknie ladnie ale nie widzi takiej metody jak addrow dla komponentu jtable...o co chodzi?

0

Dobra jako tako sobie poradzilem...ale

   DefaultTableModel model = new DefaultTableModel(); 
	   JTable tabela = new JTable(model);
	   JScrollPane scrollPane = new JScrollPane(tabela); 	  
 JPanel p1 = new JPanel();
	   
	interfejs1(){
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
		setLocationRelativeTo(null);
		setSize(600,250);
		setResizable(false);
		
		tabela.setFillsViewportHeight(true);
		tabela.setRowSelectionAllowed(false);
		tabela.setCellSelectionEnabled(true);
		tabela.addKeyListener(this); 
		
		model.addColumn("X");
		model.addColumn("Y");
		model.addColumn("d");
		model.addColumn("alfa");
		model.addColumn("Hi");
		
		model.addRow(new Object[]{"","","","",""});
		
		p1.add(scrollPane);   
		add(p1);
	}
	
	   @Override
	public void keyPressed(KeyEvent e) {
		// TODO Auto-generated method stub
		   int kodklawisza = e.getKeyCode();
		   if (kodklawisza == KeyEvent.VK_ENTER){
			   model.addRow(new Object[]{"","","","",""});	   
	       }
		   if (kodklawisza == KeyEvent.VK_BACK_SPACE){
			   model.removeRow(model.getRowCount()-1);
		   }
	   }

Pytanie - czemu usuwama mi ostatni wiersz (co chce uzyskac) oraz to co jest wpisane w przedostatnim (czego nie chce) ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1