Frage zu Listfeld oder jTable, auch andere Fragen

Status
Nicht offen für weitere Antworten.

Ru!e

Mitglied
hi zusammen!

toll so riesiges forum zu finden, ich hoffe hier kann mir geholfen werden :)
bin in java nich so der fitteste, einige hier sind ja wahre zauberer.

es geht um folgendes:
ich möchte tabellarisch informationen über einen angelegten user darstellen, in etwa diese art:
Name | Datum | Event (wo er war) | Bemerkung

für diese 4 informationen hab ich je ein listfeld angelegt, weil es schön aussieht und ich schon aus vorherigen programmen methoden leicht implementieren konnte.

nun steh ich vor dem problem, dass wenn genügend einträge vorhanden sind, eine scrollbar auftaucht - natürlich in jedem listfeld. meine frage ist nun:
kann ich bei drei dieser vier listfelder die scrollbar deaktivieren? dann hab ich aber das unschöne ergebnis dass beim scrollen nur die eine mit der scrollbar ... gescrollt wird ;) ich hab eine methode geschrieben, nach der bei der markierung eines eintrags, egal in welchem listfeld, in den anderen ebenfalls der entsprechende eintrag markiert wird. das funktioniert auch wunderbar. ich scroll runter, es geht aber nur in der einen liste, markier einen eintrag und die anderen rutschen entsprechend nach und markieren die einträge.

nun gibts aber auch jTables, mit denen hab ich aber noch null und nix gearbeitet.
ich weiß net wie ich da sachen eintragen oder auslesen lassen soll, die namen veränder und haste nich gesehen. aus der javadoc werd ich nich wirklich schlauer, die hab ich eh nie geblickt ;)

sinn und zweck soll später sein, die nötigen daten aus einer mysql datenbank auszulesen und auch wieder einzutragen.

ich hab mal ein bild von dem ganzen mit angehängt, hoffe das hilft weiter fürs verständnis.
eine sortiermethode hätt nich grad ma jemand aus dem ärmel schütteln können oder? ;)



hoffe auf hilfe und bedanke mich

Ru!e
 
G

Guest

Gast
Sorry, dass es nicht mit dem Topic zu tun hat:
Wow, die GUI haut mich um! Sag jetzt aber nicht, dass du diese hardcoremäßig per Hand gecodet hast! :wink: (Ich behaupte, dass selbst gute und erfahrene Java-Gui Coder, solch eine perfekt angeordnete GUI nie in einen Tag schaffen, und viele GUI-Noobs sich selbst nach Wochen die Zähne daran ausbeißen würden)

Mit welchem Program hast du die GUI entwickelt? Ist das GUI-Entwicklungs-Program kostenlos? Ist es vielleicht ein Plugin für Eclipse, das wär nämlich genial?
 
G

Guest

Gast
Anonymous hat gesagt.:
(Ich behaupte, dass selbst gute und erfahrene Java-Gui Coder, solch eine perfekt angeordnete GUI nie in einen Tag schaffen, und viele GUI-Noobs sich selbst nach Wochen die Zähne daran ausbeißen würden)
Ich meine, wenn man versuchen würde die GUI komplett per Hand zu coden.
 

Ru!e

Mitglied
registrier dich doch mal gast ;)

naja wir haben gelernt guis per hand zu kodieren, lern das ja als anwendungsentwickler. nur alles kriegt man eben nich beigebracht. wir sind dann irgendwann auf eclipse umgestiegen.

allerdings hab ich eclipse mittlerweile links liegen gelassen und schreib nur noch mit netbeans, das verursacht bei meinem vista weniger probleme und ich hab nich diesen stress mit den plugins um mit visual frames arbeiten zu können.

aber ansonsten sind solche guis doch ratz fatz zusammen geklickt. bis ich soweit war, verging schon etwas - weil mir immer wieder sachen eingefallen sind die ich rein gezogen hab. aber wenn ich weiß was ich brauch ist so ne gui in 10-15 minuten zusammengebastelt. die anordnung ist auch easy. ich benutz ein null layout und schieb mir die sachen erst mal grob zurecht. dann wenn ich weiß so soll es sein, bring ich alles in eine reihe damit es ordentlich aussieht. dazu klick ich das objekt an und zapp im code kurz zu den koordinaten, pass die dann an. dabei arbeite ich immer mit geraden zahlen.

netbeans is da noch nen zacken feiner, da fällt das weg mit dem code. der arbeitet mit so einer art raster und ordnet ab einem gewissen abstand dann die sachen automatisch an. ich kann also garnicht eine textbox um einen pixel versetzt unter eine andere bringen. das kann man aber abschalten.



naja meine frage ist leider immer noch nicht so richtig beantwortet.
mir ist aufgefallen, dass hier als standardantwort - beispiellos wie in keinem anderen forum - meist die antwort kommt "schau in der doku, schau im faq".

find ich leider sehr schade, denn so komm ich mit meinem problem meist nicht weiter und so viel verlang ich denk ich net.

ne einfache anweisung wie etwa listfeld.scrollbar(0); falls es sowas geben sollte wegen meiner scrollbar-frage, sollte doch jedem zumutbar sein oder nicht?

sorry wenn ich das so sagen muss :(
hatte mich aber guter dinge hier angemeldet, dass mir schnell geholfen werden kann.
 

André Uhres

Top Contributor
Sorry, ich dachte das tolle Tutorial von Beni würde dich umhauen. Er hat sich doch so viel Mühe gemacht.
Übrigens wird im forum.java.sun auch sehr oft einfach nur auf ein Tutorial oder die Forumsuche verwiesen.
Wenn man nämlich immer nur fertigen Code liefert, dann lernt ja niemand selbständig entwickeln
und man muss diesen Fragestellern dann immer wieder helfen.
Aber gut, hier hast du etwas Code. Du kriegst schon, was du willst, manchmal musst du hier eben etwas nachhaken.
Bei neuen Usern tasten wir öfter zuerst ab, wie weit sie schon sind :wink:
Ich hoffe, das hilft dir:
Code:
package table;

/*
 * FotografenTabelleDemo.java
 * benutzt die Klasse "DateColumnFormat", hier ist sie:
 * [url]http://www.java-forum.org/de/viewtopic.php?p=313193#313193[/url]
 */
import java.awt.*;
import java.text.*;
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;

public class FotografenTabelleDemo extends JFrame {

    private JTable table;//die Tabelle..
    private FotografenTabelleModel model;//..braucht ein TableModel
    private TableRowSorter<TableModel> sorter;//..und einen TableRowSorter
    private SimpleDateFormat df = new SimpleDateFormat("dd.MM.yyyy");

    //Testdaten:
    private String[] data = {"11.10.2007;Buxtehude;321;Fotograf trat in Hundekacke", 
    "10.10.2007;Buckelhausen Kirchweih;132;Fotograf war sogleich besoffen", 
    "11.01.2007;Hinterzarten;0;Fotograf wurde von Schneelawine erfasst", 
    "12.10.2007;Tanztempel Kassel;91; "};

    public FotografenTabelleDemo() {
        super("FotografenTabelleDemo");
        setSize(700, 400);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        
        model = new FotografenTabelleModel();
        table = new JTable(model);
        getContentPane().add(new JScrollPane(table), BorderLayout.CENTER);
        
        //Testdaten laden:
        for (int i = 0; i < data.length; i++) {
            String[] rowData = data[i].split(";");
            
            Date date = null;
            try {
                date = df.parse(rowData[0]);
            } catch (ParseException ex) {
            }
            
            int bilder = 0;
            try {
                bilder = Integer.parseInt(rowData[2]);
            } catch (NumberFormatException numberFormatException) {
            }

            model.addRow(new Object[]{date, rowData[1], bilder, rowData[3]});
        }
        
        //Spaltenbreiten anpassen:
        resizeTable(table, 80, 160, 50, 395);

        // Der TableRowSorter wird die Daten des Models sortieren
        // ..und der Sorter muss natürlich der JTable bekannt sein:
        sorter = new TableRowSorter<TableModel>(model);
        table.setRowSorter(sorter);

        //sortieren:
        sortTable(SortOrder.DESCENDING);

        //Einen einfachen Renderer für das Datum setzen:
        DateColumnFormat dateCF1 = new DateColumnFormat("dd.MM.yyyy");
        table.setDefaultRenderer(Date.class, dateCF1.getRenderer());
        
        //Verhindert das Verschieben der Spalten durch die Maus auf der Spaltenüberschrift:
        table.getTableHeader().setReorderingAllowed(false);
    }

    //Methode zum Sortieren der ersten Spalte:
    private void sortTable(final SortOrder order) {
        ArrayList<RowSorter.SortKey> list = new ArrayList<RowSorter.SortKey>(1);
        list.add(new RowSorter.SortKey(0, order));
        sorter.setSortKeys(list);
        sorter.sort();
    }

    //Methode zum Anpassen der Spaltenbreiten:
    public static void resizeTable(final JTable aTable, final int... columnWidth) {
        if (columnWidth.length > aTable.getColumnCount()) {
            throw new IllegalArgumentException();
        }
        aTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);//notwendig zum individuellen Anpassen
        TableColumnModel tableColumnModel = aTable.getColumnModel();
        TableColumn tableColumn;
        for (int i = 0; i < columnWidth.length; i++) {
            tableColumn = tableColumnModel.getColumn(i);
            tableColumn.setPreferredWidth(columnWidth[i]);
        }
    }

    public static void main(final String[] args) {
        // Eine GUI sollte man immer auf dem "Event Dispatch Thread" starten
        // und das tut man mit Hilfe von invokeLater:
        EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {
                new FotografenTabelleDemo().setVisible(true);
            }
        });
    }
}

//Das TableModel:
class FotografenTabelleModel extends DefaultTableModel {
    //Spaltenklassen:
    private Class[] types = new Class[]{Date.class, String.class, Integer.class, String.class};
    
    //Spalte editierbar? (false = nein)
    private boolean[] canEdit = new boolean[]{false, false, false, false};
    
    //Konstruktor:
    public FotografenTabelleModel() {
        super(null, //erstmal keine Daten laden (werden später mit DefaultTableModel#addRow geladen)
                new String[]{"Datum", "Ort / Veranstaltung", "Bilder", "Kurzbemerkung"});//Spaltenüberschriften
    }

    @Override//gibt den Spaltentyp zurück:
    public Class getColumnClass(final int columnIndex) {
        return types[columnIndex];
    }

    @Override//legt fest, ob die Spalte editierbar ist:
    public boolean isCellEditable(final int rowIndex, final int columnIndex) {
        return canEdit[columnIndex];
    }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
thor_norsk Java - Allgemeine - Frage AWT, Swing, JavaFX & SWT 14
thor_norsk Allgemeine Frage AWT, Swing, JavaFX & SWT 10
M Frage zu Java Bundesligaverwaltung AWT, Swing, JavaFX & SWT 7
thor_norsk Allgemeine Frage AWT, Swing, JavaFX & SWT 9
E Frage zum Textfeld AWT, Swing, JavaFX & SWT 8
H Swing JMenu aufgeklappt oder nicht - Wie frage ich das ab? AWT, Swing, JavaFX & SWT 5
pkm Frage wegen java.lang.IllegalStateException bei DocumentListener AWT, Swing, JavaFX & SWT 4
D Frage zu ActionListenern und AvtionEvents AWT, Swing, JavaFX & SWT 2
ralfb1105 JavaFX Daten zwischen Controllern austauschen- neue Frage AWT, Swing, JavaFX & SWT 7
F JavaFX Frage zum Logging AWT, Swing, JavaFX & SWT 6
E Prinzip: wie man Ereignisse in einer GUI verarbeit. Frage zum Design? AWT, Swing, JavaFX & SWT 10
ralfb1105 Swing Frage zu SwingWorker Verhalten bei cancel() AWT, Swing, JavaFX & SWT 2
J Frage zu setuserdata AWT, Swing, JavaFX & SWT 1
N Frage zu ListView AWT, Swing, JavaFX & SWT 11
L 2D-Grafik Frage zu Ellipse2D.Double, Abfrage, ob Punkt enthalten ist funktioniert nicht AWT, Swing, JavaFX & SWT 3
T Frage zu GUI - Button soll Objekt erfassen AWT, Swing, JavaFX & SWT 2
J Event Handling Frage zu der Funktion addActionListener AWT, Swing, JavaFX & SWT 2
J Frage zur objektorentierten Swing Programmierung AWT, Swing, JavaFX & SWT 10
T JavaFX Frage zum FX-Loader AWT, Swing, JavaFX & SWT 3
B drawRect Frage und Aufgabenstellung AWT, Swing, JavaFX & SWT 10
fLooojava GridLayout - Frage bezüglich Kachelgröße AWT, Swing, JavaFX & SWT 5
S Frage zu java.awt.EventQueue AWT, Swing, JavaFX & SWT 1
J Frage zu Java Projekt [2D Game] AWT, Swing, JavaFX & SWT 3
M Swing Grundlegende Frage zu SWING mit WindowBuilder AWT, Swing, JavaFX & SWT 11
M Frage zum Loggen von Fehlern AWT, Swing, JavaFX & SWT 3
T Swing API Frage zu Verzeichnisbäumen und JTree AWT, Swing, JavaFX & SWT 1
M Thread-Frage in SWT AWT, Swing, JavaFX & SWT 1
Q Cursor Frage AWT, Swing, JavaFX & SWT 8
W JavaFX TableView frage AWT, Swing, JavaFX & SWT 5
H Taschenrechnerprojekt in Javafx - Frage zu den Buttons in FXML AWT, Swing, JavaFX & SWT 1
I Grundsätzliche Frage zu ItemListener AWT, Swing, JavaFX & SWT 11
X Kurze Frage zu JPopup AWT, Swing, JavaFX & SWT 3
D Swing [Frage] ComboBox + Label AWT, Swing, JavaFX & SWT 3
D Frage zu JFrame und Graphics AWT, Swing, JavaFX & SWT 4
J Swing Frage zur Vorgehensweise (JTable?, JLabels?) AWT, Swing, JavaFX & SWT 8
S Frage zu Jtable / CellEditor AWT, Swing, JavaFX & SWT 1
kaoZ Frage zum einfügen von Componenten AWT, Swing, JavaFX & SWT 14
N Swing JTable anfänger frage AWT, Swing, JavaFX & SWT 2
S GridBagLayout-Frage AWT, Swing, JavaFX & SWT 1
V 2D-Grafik Frage zum Graphics Objekt AWT, Swing, JavaFX & SWT 2
F Swing JComboBox - Frage zur Größe AWT, Swing, JavaFX & SWT 11
G noch eine Frage zum EventDispachThread AWT, Swing, JavaFX & SWT 4
D MVC Frage AWT, Swing, JavaFX & SWT 6
Z Flackern trotz Offscreen Image / Doublebuffer, (+ Frage zu Pixelvergleich) AWT, Swing, JavaFX & SWT 25
GianaSisters 2D-Grafik BufferedImage.getSubimage - Frage AWT, Swing, JavaFX & SWT 7
M Frage zu KeyListener bzgl. JApplet AWT, Swing, JavaFX & SWT 3
M Frage zu Threads AWT, Swing, JavaFX & SWT 3
N Swing JComboBox Frage AWT, Swing, JavaFX & SWT 5
Luk10 g.drawString funktioniert nicht + Frage zur Text-Rendering Qualität AWT, Swing, JavaFX & SWT 7
Luk10 Frage zu Farb-Komposition AWT, Swing, JavaFX & SWT 9
K Gui Layout Frage AWT, Swing, JavaFX & SWT 5
V SWT Import Wizard - frage zur WizardPage AWT, Swing, JavaFX & SWT 5
N Swing Frage JXMapviewer AWT, Swing, JavaFX & SWT 4
GUI-Programmer Wieder ne Layout Frage AWT, Swing, JavaFX & SWT 11
GUI-Programmer LayoutManager Kurze Layout Frage - eine komponente mittig? AWT, Swing, JavaFX & SWT 5
lumo SWT Zeichnen bescheunigen bzw eine allg. Frage AWT, Swing, JavaFX & SWT 8
H Frage zu übergebenem Vector bzw. Boolean AWT, Swing, JavaFX & SWT 3
C 2D-Grafik BufferedImage laden, Frage zum Code AWT, Swing, JavaFX & SWT 2
VfL_Freak Swing Frage zu "new JPasswordField( 10 )" AWT, Swing, JavaFX & SWT 6
H Frage zu WindowBuilder Pro AWT, Swing, JavaFX & SWT 3
C Frage/Problem mit Jpanel AWT, Swing, JavaFX & SWT 4
S Frage zu TextArea AWT, Swing, JavaFX & SWT 2
GUI-Programmer Zeichnen in Swing - Frage AWT, Swing, JavaFX & SWT 6
Luk10 Frage zu Mouseevents AWT, Swing, JavaFX & SWT 7
J Refreshing Swing Frage AWT, Swing, JavaFX & SWT 10
F Frage zu Event KeyTyped bei jPanel AWT, Swing, JavaFX & SWT 4
A Frage zu StringBuilder AWT, Swing, JavaFX & SWT 2
S allg. Frage zur GUI-Architektur AWT, Swing, JavaFX & SWT 5
A Frage zu JDialog AWT, Swing, JavaFX & SWT 3
A Frage zur Methode matches() AWT, Swing, JavaFX & SWT 2
P LayoutManager Verständnis-Frage GridBagLayout AWT, Swing, JavaFX & SWT 7
H Allgemeine Frage zu Grafikfähigkeiten von Java AWT, Swing, JavaFX & SWT 24
D Repaint Frage, Design Frage AWT, Swing, JavaFX & SWT 2
Jats Frage zu JLabel & JTextField AWT, Swing, JavaFX & SWT 4
Y frage zu BufferedImage AWT, Swing, JavaFX & SWT 7
hdi Swing Frage zu invokeAndWait() Exceptions AWT, Swing, JavaFX & SWT 8
P Swing Frage zu paintComponent/getGraphics AWT, Swing, JavaFX & SWT 4
M Frage nach Swing Element AWT, Swing, JavaFX & SWT 3
S Frage zu Graphics2D AWT, Swing, JavaFX & SWT 3
T AWT Frage zu AWT AWT, Swing, JavaFX & SWT 5
B Frage zu Swing,Threads, SwingWorker und Socket Communikation AWT, Swing, JavaFX & SWT 4
F unspezifizierte Frage zu JTable/ Model AWT, Swing, JavaFX & SWT 6
B SWT Frage zu MVC und Data-Binding AWT, Swing, JavaFX & SWT 8
T LookAndFeel Look and Feel Frage AWT, Swing, JavaFX & SWT 2
J Java2D Kreis/Kurven Frage AWT, Swing, JavaFX & SWT 2
P Kurze Frage zur Gestaltung eines vertikalen Menüs AWT, Swing, JavaFX & SWT 2
Dit_ Frage zum Thema SwingUtilities.invokeLater AWT, Swing, JavaFX & SWT 5
Eldorado Frage zur Anwendung des MVC-Konzept AWT, Swing, JavaFX & SWT 33
G Frage zu processMouseEvent AWT, Swing, JavaFX & SWT 6
M Zoomen in ein JPanel... und eine andere kleine Frage AWT, Swing, JavaFX & SWT 3
D Swing implementierungs-technische Frage zu JList/AbstractListModel AWT, Swing, JavaFX & SWT 7
C Event Frage AWT, Swing, JavaFX & SWT 7
A Frage zu GridLayout AWT, Swing, JavaFX & SWT 4
F Frage zu WindowListeners AWT, Swing, JavaFX & SWT 2
E einfache Frage:warum ist Hintergrund grau ? AWT, Swing, JavaFX & SWT 24
E einfache Frage zu paintComponent und Graphics AWT, Swing, JavaFX & SWT 7
C Frage zu ActionListenern AWT, Swing, JavaFX & SWT 7
D Frage @ someActionEvent.getActionCommand() AWT, Swing, JavaFX & SWT 2
Kr0e Allgemeine Frage zu Java2D (Eigene Impl.) AWT, Swing, JavaFX & SWT 18
L Einfache Layout Frage für Applet -> Was mache ich bloss falsch? AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben