Zazwyczaj w JTextArea tekst zaczyna się w lewym górnym rogu. Chcę, żeby był w lewym dolnym rogu. Jak możesz to robić?Jak zmienić pozycję tekstu w JTextArea
(przepraszam, jeśli moje pismo jest nieczytelne)
Zazwyczaj w JTextArea tekst zaczyna się w lewym górnym rogu. Chcę, żeby był w lewym dolnym rogu. Jak możesz to robić?Jak zmienić pozycję tekstu w JTextArea
(przepraszam, jeśli moje pismo jest nieczytelne)
Można zakotwiczyć JTextArea
do BorderLayout.PAGE_END
umieszczeniem pojemnika i pozwolić, aby przewinąć tekst w górę.
public class BaseTextAreaDemo {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
}
final JFrame frame = new JFrame("Base JTextArea App");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
JPanel textAreaPanel = getBaseTextArea();
JScrollPane scrollPane = new JScrollPane(textAreaPanel) {
@Override
public Dimension getPreferredSize() {
return new Dimension(300, 230);
}
};
frame.add(scrollPane);
frame.pack();
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
private JPanel getBaseTextArea() {
JTextArea textArea = new JTextArea();
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
textArea.append("bla bla bla\n");
textArea.append("new text here");
JPanel panel = new JPanel(new BorderLayout());
panel.setBackground(textArea.getBackground());
panel.setBorder(textArea.getBorder());
textArea.setBorder(null);
panel.add(textArea, BorderLayout.PAGE_END);
return panel;
}
});
}
}
Czy to "BorderLayout.SOUTH" z textArea w JPanel zmienia pozycję tekstu? – Creator13
Tak. zaktualizowałem z wyjaśnieniem – Reimeus
W Ubuntu, ['textArea.getBackground()'] (http://docs.oracle.com/javase/7/docs/api/java/awt/Component.html#getBackground()) zwraca jego kolor tła rodzica, dzięki czemu kolory są różne: bardzo jasny szary panel i biały obszar tekstu. –
+1 dla rysowane ręcznie diagramów. –
jako prosta decyzja: policz liczbę linii, wypełnij obszar odpoczynku pustymi liniami – maks