JScrollBar

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
tag ich versuche eine JScrollBar an meine Liste zuheften jedoch klappt das nicht so ganz obwohl alles stimmen sollte

Code:
package Tests;

/* Listing3710.java */

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

public class Liste
extends JFrame
implements ActionListener
{
  static final String[] DATA = {
    "Mitarbeiter 1", "Mitarbeiter 2", "Mitarbeiter 3", "Mitarbeiter 4", "Mitarbeiter 5",
    "Mitarbeiter 6", "Mitarbeiter 7", "Mitarbeiter 8", "Mitarbeiter 9", "Mitarbeiter 10",
    "Mitarbeiter 11", "Mitarbeiter 12", "Mitarbeiter 13", "Mitarbeiter 14", "Mitarbeiter 15" };

  private JList list;

  public Liste()
  {
    super("JList");
    addWindowListener(new Fenster_schließen(true));
    //Liste
    list = new JList(DATA);
    list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    list.setSelectedIndex(2);
    list.setBounds(25, 10, 110, 150);
    add(new JScrollPane(list));
    add(list);
    //Ausgabe-Button
    JButton button = new JButton("Ausgabe");
    button.addActionListener(this);
    button.setBounds(140, 10, 160, 20);
    add(button);
  }

  public void actionPerformed(ActionEvent event)
  {
    String cmd = event.getActionCommand();
    if (cmd.equals("Ausgabe")) {
      System.out.println("---");
      ListModel lm = list.getModel();
      int[] sel = list.getSelectedIndices();
      for (int i = 0; i < sel.length; ++i) {
        String value = (String)lm.getElementAt(sel[i]);
        System.out.println("  " + value);
      }
    }
  }

  public static void main(String[] args)
  {
    Liste frame = new Liste();
    frame.setLocation(100, 100);
    frame.setSize(350, 300);
    frame.setLayout(null);
    frame.setVisible(true);
  }
}
 

khaputt

Mitglied
Hallo,

du musst zuerst eine Liste erzeugen und diese dann der ScrollPane übergeben.

Code:
JScrollPane scrollPane = new JScrollPane(list);
    scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
[/code]

und die ScrollPane am Frame hinzufügen.
 
G

Guest

Gast
dank dir für deinen rat, jedoch bekomm ich trotz
Code:
JScrollPane scrollPane = new JScrollPane(list); 
    scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
    add(scrollPane);
nichts d.h. selbst meine liste wurd so entfernt :bahnhof:
 

L-ectron-X

Gesperrter Benutzer
Ich habs dir mal umgeschrieben:
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Liste
extends JFrame
implements ActionListener
{
  private final String[] DATA = {
    "Mitarbeiter 1", "Mitarbeiter 2", "Mitarbeiter 3", "Mitarbeiter 4", "Mitarbeiter 5",
    "Mitarbeiter 6", "Mitarbeiter 7", "Mitarbeiter 8", "Mitarbeiter 9", "Mitarbeiter 10",
    "Mitarbeiter 11", "Mitarbeiter 12", "Mitarbeiter 13", "Mitarbeiter 14", "Mitarbeiter 15" };

  private JList list;
  private JButton button;

  public Liste()
  {
    super("JList");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(350, 300);
    setLocationRelativeTo(null);
    
    JPanel mainPanel = new JPanel(new BorderLayout());
    mainPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
    //Liste
    list = new JList(DATA);
    list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    list.setSelectedIndex(2);
    mainPanel.add(new JScrollPane(list), BorderLayout.CENTER);
    //Ausgabe-Button
    JPanel buttonPanel = new JPanel();
    button = new JButton("Ausgabe");
    button.addActionListener(this);
    buttonPanel.add(button);
    mainPanel.add(buttonPanel, BorderLayout.EAST);
    
    add(mainPanel);
  }

  public void actionPerformed(ActionEvent event)
  {
    if (event.getActionCommand().equals("Ausgabe")) {
      System.out.println("---");
      ListModel lm = list.getModel();
      int[] sel = list.getSelectedIndices();
      for (int i = 0; i < sel.length; ++i) {
        String value = (String)lm.getElementAt(sel[i]);
        System.out.println("  " + value);
      }
    }
  }

  public static void main(String[] args)
  {
    new Liste().setVisible(true);
  }
}
 
G

Guest

Gast
danke was heißt denn:
Code:
   setLocationRelativeTo(null);
 

L-ectron-X

Gesperrter Benutzer
Positioniere das Fenster relativ zur übergebenen Komponente.
Wenn keine übergeben wird, oder sie nicht sichtbar ist, erscheint das Fenster in Bildschirmmitte.

http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Window.html#setLocationRelativeTo(java.awt.Component)
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben