Java Fragen und Antworten

Warum werden bei JTable keine Scrollbalken angezeigt?
Wie läßt sich eine Zeile (Line) einer JTextArea auslesen?
Wie läßt sich eine Textdatei Zeilenweise auslesen?
Wie läßt sich das Verschieben von Spalten einer JTable verhindern?
Wie kann ich ein ActionEvent auf einen JButton "von Hand" auslösen

Warum werden bei JTable keine Scrollbalken angezeigt?

Damit bei einer JTable Scrollbalken angezeigt werden, muss diese in ein JScrollPane eingebunden werden.

JPanel panel =  new  JPanel();
JTable table =  new  JTable();
panel.add(new  JScrollPane(table);
itmapa.de - X2H V 0.19


Wie läßt sich eine Zeile (Line) einer JTextArea auslesen?

Eine Zeile (Line) einer JTextArea läßt sich nicht direkt auslesen, kann aber relativ leicht "von Hand" realisiert werden:

public static String getLineString(JTextArea jTextArea, int lineIndex)
       throws BadLocationException{
  int startIndex = jTextArea.getLineStartOffset(lineIndex),
      endIndex = jTextArea.getLineEndOffset(lineIndex);
  if (endIndex <= startIndex) return ""; 
  return jTextArea.getText().substring(startIndex,endIndex);
}
itmapa.de - X2H V 0.19

Ist der Zeilenumbruch am Zeilenende (setLineWrap(true)) aktiviert, liefert die Methode getLineString auch den umgebrochenen Teil der Zeile (Line).


Wie läßt sich eine Textdatei Zeilenweise auslesen?

Das nachfolgende Beispiel liest eine Textdatei Zeilenweise aus und gibt die jeweiligen Zeilen auf der Console aus. Die auszulesende Textdatei wird im ersten Argument beim Programmaufruf festgelegt (args[0]).

import java.io.*;

public class LineReader {

  public static void main(String[] args){
    try{
      BufferedReader reader = new BufferedReader(new FileReader(args[0]));
      String s = reader.readLine();
      while (s != null){
        System.out.println(s);
        s = reader.readLine();
      }
    }
    catch(FileNotFoundException e){
      e.printStackTrace();
      System.exit(1);
    }
    catch(IOException e){
      e.printStackTrace();
      System.exit(2);
    }        
  }
}
itmapa.de - X2H V 0.19



Wie läßt sich das Verschieben von Spalten einer JTable verhindern?

Die Möglichkeit des Verschieben von Spalten mit der Maus einer JTable läßt sich im JTableHeader der JTable unterbinden.

jTable.getTableHeader().setReorderingAllowed(false);
itmapa.de - X2H V 0.19


Wie kann ich ein ActionEvent auf einen JButton "von Hand" auslösen

Ein ActionEvent auf einen JButton läßt sich über die Methode doClick() des JButton (geerbt von AbstractButton) auslösen.

JButton#doClick();
itmapa.de - X2H V 0.19