/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Scrollbars i JTable
Fra : Martin Bratbo


Dato : 05-04-04 22:35

Jeg har desperat forsøgt at få scrollbars i en JTable et af forsøgene er
findes herunder, jeg har ingen som helst idé om hvad det er der mangler
for at kunne få scollbars på, og iøvrigt hvorfor
setDefaultLookAndFeelDecorated(true) ingen effekt har
Er der nogen der kan fortælle mig hvad der mangler ?

Med venlig Hilsen

Martin Bratbo

import java.util.*;
import javax.swing.table.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.Dimension;
public class MBTableDemo extends JFrame {

/** Creates a new instance of MBTableDemo */
public MBTableDemo() {
String[] head=new String[]{"PDMS","PipePlus"};
List data=new ArrayList();
data.add(new String[]{"/A0","B0"});
data.add(new String[]{"/A1","B1"});
data.add(new String[]{"/A2","B2"});
data.add(new String[]{"/A3","B3"});
data.add(new String[]{"/A4","B4"});
data.add(new String[]{"/A5","B5"});
data.add(new String[]{"",""});
JTable jtb=new JTable(new HangerTableModel(head, data));
jtb.setPreferredScrollableViewportSize(new Dimension(400,400));
jtb.setMinimumSize(new java.awt.Dimension(400,400));
JScrollPane jsc=new JScrollPane(jtb);
this.getContentPane().add(jsc,java.awt.BorderLayout.CENTER);
}

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
MBTableDemo mbt= new MBTableDemo();
mbt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mbt.setDefaultLookAndFeelDecorated(true);
mbt.pack();
mbt.setVisible(true);
}

}


 
 
Mike (06-04-2004)
Kommentar
Fra : Mike


Dato : 06-04-04 09:00

In article <jikcc.134637$jf4.7274671@news000.worldonline.dk>, Martin
Bratbo <martin@bratbo.dk> wrote:

> Jeg har desperat forsøgt at få scrollbars i en JTable et af forsøgene er
> findes herunder, jeg har ingen som helst idé om hvad det er der mangler
> for at kunne få scollbars på, og iøvrigt hvorfor
> setDefaultLookAndFeelDecorated(true) ingen effekt har
> Er der nogen der kan fortælle mig hvad der mangler ?
>
> Med venlig Hilsen
>
> Martin Bratbo
>
> import java.util.*;
> import javax.swing.table.*;
> import javax.swing.*;
> import java.awt.event.*;
> import java.awt.Dimension;
> public class MBTableDemo extends JFrame {
>
> /** Creates a new instance of MBTableDemo */
> public MBTableDemo() {
> String[] head=new String[]{"PDMS","PipePlus"};
> List data=new ArrayList();
> data.add(new String[]{"/A0","B0"});
> data.add(new String[]{"/A1","B1"});
> data.add(new String[]{"/A2","B2"});
> data.add(new String[]{"/A3","B3"});
> data.add(new String[]{"/A4","B4"});
> data.add(new String[]{"/A5","B5"});
> data.add(new String[]{"",""});
> JTable jtb=new JTable(new HangerTableModel(head, data));
> jtb.setPreferredScrollableViewportSize(new Dimension(400,400));
> jtb.setMinimumSize(new java.awt.Dimension(400,400));
> JScrollPane jsc=new JScrollPane(jtb);
> this.getContentPane().add(jsc,java.awt.BorderLayout.CENTER);
> }
>
> /**
> * @param args the command line arguments
> */
> public static void main(String[] args) {
> MBTableDemo mbt= new MBTableDemo();
> mbt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
> mbt.setDefaultLookAndFeelDecorated(true);
> mbt.pack();
> mbt.setVisible(true);
> }
>
> }
>

Ja du adder fex ikke tabellen til scroll panens viewport..

/Mikael

Søren Berg Glasius (06-04-2004)
Kommentar
Fra : Søren Berg Glasius


Dato : 06-04-04 09:15

>
>
> Ja du adder fex ikke tabellen til scroll panens viewport..

Det vil jeg nu nok mene at han gør, når han opretter sin ScrollPane:

> JScrollPane jsc=new JScrollPane(jtb);

Correct me, if I'm wrong

/Søren

Soren Kuula (06-04-2004)
Kommentar
Fra : Soren Kuula


Dato : 06-04-04 19:59

Martin Bratbo wrote:
> Jeg har desperat forsøgt at få scrollbars i en JTable et af forsøgene er
> findes herunder, jeg har ingen som helst idé om hvad det er der mangler
> for at kunne få scollbars på, og iøvrigt hvorfor
> setDefaultLookAndFeelDecorated(true) ingen effekt har
> Er der nogen der kan fortælle mig hvad der mangler ?
Du skriver ikke hvornår du gerne vil have scrollere på ... måske er der
plads nok til at undvære dem ?

Prøv, hvis du altid vil have dem,

JScrollPane jsc=new JScrollPane(jtb,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

MVH
Søren

Martin Bratbo (07-04-2004)
Kommentar
Fra : Martin Bratbo


Dato : 07-04-04 09:27

Soren Kuula skrev:
> Martin Bratbo wrote:
>
>> Jeg har desperat forsøgt at få scrollbars i en JTable et af forsøgene er
>> findes herunder, jeg har ingen som helst idé om hvad det er der
>> mangler for at kunne få scollbars på, og iøvrigt hvorfor
>> setDefaultLookAndFeelDecorated(true) ingen effekt har
>> Er der nogen der kan fortælle mig hvad der mangler ?
>
> Du skriver ikke hvornår du gerne vil have scrollere på ... måske er der
> plads nok til at undvære dem ?
>
> Prøv, hvis du altid vil have dem,
>
> JScrollPane jsc=new JScrollPane(jtb,
> JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
> JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
>
> MVH
> Søren
Mange tak for tippet. Jeg vil have scrollbars på når det er nødvendigt.
Det er lykkedes mig at løse problemet ved at tage udgangspunkt i et
eksempel fra sun's JTable tutorial, som jeg har redigeret til
ukendelighed, men det stadig irriterende ikke at være sikker på hvad det
lige præcis var der manglede i den oprindelige kode.

MVH

Martin Bratbo


Janus E (18-04-2004)
Kommentar
Fra : Janus E


Dato : 18-04-04 18:04


> Mange tak for tippet. Jeg vil have scrollbars på når det er nødvendigt.
> Det er lykkedes mig at løse problemet ved at tage udgangspunkt i et
> eksempel fra sun's JTable tutorial, som jeg har redigeret til
> ukendelighed, men det stadig irriterende ikke at være sikker på hvad det
> lige præcis var der manglede i den oprindelige kode.
>
> MVH
>
> Martin Bratbo
>

Måske kunne du ha' løst problemet med HORIZONTAL_SCROLLBAR_AS_NEEDED og
VERTICAL_SCROLL_BAR_AS_NEEDED, begge statics fra JScrollPane ?

Vh Janus


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.657 / Virus Database: 422 - Release Date: 13-04-2004



The_MaXx (03-05-2004)
Kommentar
Fra : The_MaXx


Dato : 03-05-04 14:52

ren
>
> Mange tak for tippet. Jeg vil have scrollbars på når det er nødvendigt.
> Det er lykkedes mig at løse problemet ved at tage udgangspunkt i et
> eksempel fra sun's JTable tutorial, som jeg har redigeret til
> ukendelighed, men det stadig irriterende ikke at være sikker på hvad det
> lige præcis var der manglede i den oprindelige kode.
>
> MVH
>
> Martin Bratbo
>

Har selv brugt det engang, men det er længe siden så min hukommelse kan
svigte mig, men jeg mener at du skal smide tabellen i en container før
du smider den i JScrollPane's view.

Altså skift disse linier:

JScrollPane jsc=new JScrollPane(jtb);
this.getContentPane().add(jsc,java.awt.BorderLayout.CENTER);

ud med disse linier:

JPanel con = new JPanel();
con.setLayout(new java.awt.BorderLayout());
con.add(jtb, java.awt.BorderLayout.CENTER);
JScrollPane jsc=new JScrollPane(con);
this.getContentPane().add(jsc, java.awt.BorderLayout.CENTER);

så burde det virke perfekt uden at du skal tvinge den til at den skal
vise dem i bestemte situationer. Nu skulle der være automatisk scrollbar
hvor det er nødvendigt. Håber det kastede lidt lys over situationen.

The_MaXx

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408177
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste