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();