Avatar billede superzapper Nybegynder
28. april 2003 - 16:04 Der er 13 kommentarer og
1 løsning

Hvilke GUI elementer er brugt her?

Jeg har lige et hurtigt spørgsmål...

Hvilke GUI elementer skal bruges for at lave en lignende oversigt over spillere som den brugt i programmet HLSW - se screenshot her: http://www.hlsw.org/images/hlsw_images/hlsw_buddylist.jpg

Det ligner en tabel med nogle knapper som overskrift for de enkelte kolonner, som man så kan justere bredden på.

På forhånd tak
Avatar billede dsj Nybegynder
28. april 2003 - 16:12 #1
Jeg har selv lavet et lignende program: Nida HL Launcher (http://www.nidaware.com/da/applikationer.php).

Du skal nok se på JTable.
Avatar billede magoo20000 Nybegynder
28. april 2003 - 16:13 #2
JFrame, JMenu, JTextField, JLabel, JButton, JRadioButton, JTable, JcomboBox, JTextField, Nogle listeners til events, og en menu, der kommer frem når min klikke på højre museknap - kan ikke huske, hvad den hedder.
Avatar billede superzapper Nybegynder
28. april 2003 - 16:17 #3
Tak for jeres svar... Kan jeg få jer til at præcisere det lidt ud. Det område hvor jeg er i tvivl er der hvor selve spillerne er listet.

"#" - "Name", "Frags" og "Time" - Er det knapper sat ind i en tabel? ... Som man så kan justere og dermed få tabellen til at følge med?!
Avatar billede magoo20000 Nybegynder
28. april 2003 - 16:55 #4
Nej, det er bare headeren til din JTable.
Avatar billede magoo20000 Nybegynder
28. april 2003 - 17:00 #5
Her er et eksempel:

Bare skift columnNames ud med noget andet, så har du et eksempel på, hvordan det kan gøres.

// Create columns names
String columnNames[] = { "Column 1", "Column 2", "Column 3" };

// Create some data
String dataValues[][] =
{
    { "12", "234", "67" },
    { "-123", "43", "853" },
    { "93", "89.2", "109" },
    { "279", "9033", "3092" }
};

// Create a new table instance
table = new JTable( dataValues, columnNames );

// Add the table to a scrolling pane
JScrollPane scrollPane = new JScrollPane( table );
getContentPane().add( scrollPane, BorderLayout.CENTER );
Avatar billede dsj Nybegynder
28. april 2003 - 17:03 #6
Her er lidt eksempelkode:

  private String[] columnNames = {"#" - "Name", "Frags" og "Time"};
  private int[] columnWidth = { 25, 150, 75, 75 };

  public void setWidths() {
    for(int i=0; i<columnWidth.length; i++) {
      table.getColumnModel().getColumn(i).setPreferredWidth(columnWidth[i]);
    }
  }
Avatar billede dna Nybegynder
28. april 2003 - 18:08 #7
Hej magoo20000.

Jeg arbejder på samme projekt som superzapper, og kan altså ikke få dit eksempel til at spille. Måske jeg laver et eller dumt.

Kan jeg ikke få dig til at lave en lille simpel klasse, som jeg kan kompilere direkte. !?

Håber jeg kan lokke dig til det! :D

dna
Avatar billede magoo20000 Nybegynder
28. april 2003 - 19:38 #8
Ja da!

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

/**
* Created by IntelliJ IDEA.
* User: Martin
* Date: Apr 28, 2003
* Time: 7:32:14 PM
* To change this template use Options | File Templates.
*/
public class GUITester extends JFrame {
    String columnNames[] = {"Column 1", "Column 2", "Column 3"};

// Create some data
    String dataValues[][] =
            {
                {"12", "234", "67"},
                {"-123", "43", "853"},
                {"93", "89.2", "109"},
                {"279", "9033", "3092"}
            };

// Create a new table instance
    public GUITester() {
        JTable table = new JTable( dataValues, columnNames );
// Add the table to a scrolling pane
        JScrollPane scrollPane = new JScrollPane( table );
        getContentPane().add( scrollPane, BorderLayout.CENTER );
        show();
        setSize( 400, 400 );
        setDefaultCloseOperation( 1 );

    }

    public static void main( String a[] ) {
        new GUITester();
    }

}
Avatar billede magoo20000 Nybegynder
28. april 2003 - 19:42 #9
Hvis i har installeret SDK 1.4.1_01 er der flere eksempler her:

C:\j2sdk1.4.1_01\demo\jfc\TableExample

Hvis jeres drev hedder C:\
Avatar billede chrlyck Nybegynder
28. april 2003 - 20:25 #10
Til magoo's sidste svar skal vi også lige have "setVisible(true)" på, men det fatter man jo nok når der slet ikke er noget... :P
Avatar billede chrlyck Nybegynder
28. april 2003 - 20:34 #11
/me har også lige lyttet med her...

Jeg har nemlig altid spekuleret over hvordan man ville lave det der "smarte" fis med at man kan justere, flytte rundt og sådan...

Det virkede også lige for nemt til at være sandt for mig, jeg så det også som superzapper, nemlig at det måtte være nogle meget avancerede knapper i hver celle som så kunne justeres og så resten af kolonnen ville følge med.

Grunden til dette er jo at man "normalt" (læs: i windows) også kan klikke på dem for at justere stigende eller faldende... Det ser så ud til at dette ikke er muligt i java uden at gå helt amok?

Eller hvad?

Det kunne jo være nice med en tabel der kunne det hele...?
Avatar billede dna Nybegynder
28. april 2003 - 21:45 #12
magoo20000: Takker for den dejlige kode der! - Det var lige hvad vi skulle bruge!

Håber superzapper lige smider de point til dig!

dna
Avatar billede magoo20000 Nybegynder
28. april 2003 - 21:52 #13
chrlyck >> Det eksekverer og vises skam fint hos mig uden setvisible(boolean)!

Du taler om stigende/faldende - mener du sortering ud fra de forskellige kolonner? Det kan man godt! Se C:\j2sdk1.4.1_01\demo\jfc\TableExample\src\TableSorter.java, hvis du har SDK1.4.1_01
Avatar billede superzapper Nybegynder
28. april 2003 - 23:30 #14
Takker for hjælpen.. Det var klasse
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester