JTable keine Scrollbalken angezeigt?JTextArea auslesen?JTable verhindern?ActionEvent auf einen JButton "von Hand" auslösen
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);
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);
}
Ist der Zeilenumbruch am Zeilenende (setLineWrap(true))
aktiviert, liefert die Methode getLineString auch den umgebrochenen Teil
der Zeile (Line).
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);
}
}
}
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);
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();