لم تعُد "مجموعات Google" تتيح المشاركات أو الاشتراكات الجديدة من Usenet. وسيبقى بالإمكان عرض المحتوى السابق.

JScrollPane i JTable pomocy :)

0 مرّة مشاهدة
التخطي إلى أول رسالة غير مقروءة

lizu

غير مقروءة،
14‏/03‏/2004، 11:59:51 ص14‏/3‏/2004
إلى
witam wszystkich grupowiczow wczoraj spedzilem kilka godzin na przegladaniu
dokumentacji i kilku ksiazek do javy niestety po ang wiec moglem przeoczyc
rozwiazanie . Mam 2 problemy . 1) potrzebuje komponentu do ktorego bede
wpisywal dane jak do tablicy wiec moj wybor padl na tabele (JTable) i
pierwszy problem to nie potrafie ustawic szrokosci kolumy (chcialbym zeby
ona bardziej przypominala tablice a nie tabelki ) , chyba ze ktos zna
lepszy komponent do tego celu . 2) wiaze sie z pierwszym skoro nie moge
ustawic szerokosci to przynajmniej dobrze by bylo ja przesuwac zwlaszcza ze
liczba wierszy i kolumn ma byc ustawiana w programie wiec umiescilem moja
tabele w JScrollPane i nie wyswietla sie pasek przewijania poziomego , nie
wiem jak to zrealizowac zeby byly oby dwa paski , nawet po ustawieniu ze
maja byc zawsze widoczene wprawdzie sa widoczne ale dziala tylko pionowy .

tabela1 = new MyTable(15);
//jesli uzyje tego drugiego konstruktora JScrollPane(Component view, int
vsbPolicy, int hsbPolicy) to mam wyjatek
JScrollPane scrollPane1 = new JScrollPane(tabela1);
tabela1.setPreferredScrollableViewportSize(new Dimension(50, 50));
scrollPane1 dodaje do JPanel ktory jest ustawiony jako ContentPane ramki ,
moze poprostu zle togo uzywam , tak samo nie wiem czy dodawac do ramki czy
do panela JScrollPane ?
dziekuje kazda rada sie przyda


Gambit

غير مقروءة،
15‏/03‏/2004، 2:17:35 ص15‏/3‏/2004
إلى

Użytkownik "lizu" <li...@wp.pl> napisał w wiadomości
news:c322ob$kf6$1...@news.polsl.gliwice.pl...

> witam wszystkich grupowiczow wczoraj spedzilem kilka godzin na
przegladaniu
> dokumentacji i kilku ksiazek do javy niestety po ang wiec moglem przeoczyc
> rozwiazanie . Mam 2 problemy . 1) potrzebuje komponentu do ktorego bede
> wpisywal dane jak do tablicy wiec moj wybor padl na tabele (JTable) i
> pierwszy problem to nie potrafie ustawic szrokosci kolumy (chcialbym zeby
> ona bardziej przypominala tablice a nie tabelki ) , chyba ze ktos zna
> lepszy komponent do tego celu .

Musisz albo zaimplementować odpowiednio TableColumnModel i w metodzie
getColumn(int i), albo zrobić to w pętli, coś jak:
int w[] { 200, 70, 100, 150 }// Każda kolumna inny rozmiar
TableColumnModel model = table.getColumnModel();
for (int i = 0; i < w.length; i++)
model.getColumn(i).setPreferredWidth(w[i]);

>2) wiaze sie z pierwszym skoro nie moge
> ustawic szerokosci to przynajmniej dobrze by bylo ja przesuwac zwlaszcza
ze
> liczba wierszy i kolumn ma byc ustawiana w programie wiec umiescilem moja
> tabele w JScrollPane i nie wyswietla sie pasek przewijania poziomego ,
nie
> wiem jak to zrealizowac zeby byly oby dwa paski , nawet po ustawieniu ze
> maja byc zawsze widoczene wprawdzie sa widoczne ale dziala tylko pionowy .
>

table.setPreferredScrollableViewportSize(new Dimension(180, 320));


Pozdrawiam!
Gambit


lizu

غير مقروءة،
15‏/03‏/2004، 6:30:33 م15‏/3‏/2004
إلى
> table.setPreferredScrollableViewportSize(new Dimension(180, 320));
>
>
> Pozdrawiam!
> Gambit


zrobilem tak jak mowisz , nawet specjalnie zrobilem sobie przykladowy
programik tylko z ramka i tabelka i zgadza sie co piszesz , ja juz tego
probowalem , ale wyswietla sie tylko jeden pasek przewijania pionowego ,
poziomego sie wogole nie wyswietla , zamieszczam kod :

import javax.swing.*;
import java.awt.*;

/**
*

*/
public class nowe extends JPanel {

/** Creates a new instance of nowe */
public nowe() {
JTable tabela = new JTable(20, 230);
tabela.setPreferredScrollableViewportSize(new Dimension(90, 90));
JScrollPane scroller = new JScrollPane(tabela);
scroller.setPreferredSize(new Dimension(200,200));
add(scroller, BorderLayout.CENTER);

}

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
JFrame frame = new JFrame("ScrollDemo2");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//Create and set up the content pane.
JComponent newContentPane = new nowe();
newContentPane.setOpaque(true); //content panes must be opaque
frame.setContentPane(newContentPane);

//Display the window.
frame.pack();
frame.setVisible(true);
}

}

prosze o pomoc moze kod ktory bylby dobry bo dalej nie mam rozwiazania


lizu

غير مقروءة،
15‏/03‏/2004، 6:51:47 م15‏/3‏/2004
إلى
A jesli zrobie tak

public nowe() {
JPanel panel = new JPanel();


JTable tabela = new JTable(20, 230);

tabela.setPreferredScrollableViewportSize(new Dimension(200, 10));
JScrollPane scroller = new JScrollPane(tabela,40,50);
panel.add(scroller,BorderLayout.CENTER);

scroller.setPreferredSize(new Dimension(200,200));
setContentPane(panel);


}
to mam :

java.lang.IllegalArgumentException: invalid verticalScrollBarPolicy
at
javax.swing.JScrollPane.setVerticalScrollBarPolicy(JScrollPane.java:465)
at javax.swing.JScrollPane.<init>(JScrollPane.java:259)
at com.nowe.nowe.<init>(nowe.java:25)
at com.nowe.nowe.main(nowe.java:38)
Exception in thread "main"


wybaczcie jesli to jakis glupi blad ale wynika on z niewiedzy :) dlatego nie
umie sobie z tym poradzic


lizu

غير مقروءة،
15‏/03‏/2004، 6:59:54 م15‏/3‏/2004
إلى
JScrollPane scroller = new
JScrollPane(tabela,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS,JScrollPane.VERTI
CAL_SCROLLBAR_ALWAYS);

tak tez probowalem i ten sam wyjatek


Gambit

غير مقروءة،
16‏/03‏/2004، 6:37:43 ص16‏/3‏/2004
إلى

Użytkownik "lizu" <li...@wp.pl> napisał w wiadomości
news:c35fo4$j35$1...@news.polsl.gliwice.pl...

Może dlatego, że zamieniłeś kolejność argumentów :)

JScrollPane scroller = new JScrollPane(tabela,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

I skoro opakowujesz tabele w scrollbar to dobrze by było ustawić żeby sama
się nie rozszerzała:
tabela.setAutoResizeMode(tabela.AUTO_RESIZE_OFF);

Pozdrawiam!
Gambit

lizu

غير مقروءة،
16‏/03‏/2004، 6:54:55 ص16‏/3‏/2004
إلى

Użytkownik "Gambit" <gam...@onet.pl> napisał w wiadomości
news:c36ov0$6h3$1...@news.onet.pl...
>Dzieki pomoglo :) tabela.setAutoResizeMode(tabela.AUTO_RESIZE_OFF);


0 رسالة جديدة