интересует следующий момент. Считываю help из файла, записываю его в JTextArea, после добавляю в JScrollPane. Так как это нечто на подобии мануала, то мне необходимо, чтобы текст в JTextArea не менялся, поэтому я сделал helpText.setEnabled(false);
из-за этого программа перестала выдавать необходимый результат (текст пропал).
Результат при helpText.setEnabled(false);
Результат без этой строки
File helpFile = new File("help.help");
JTextArea helpText = new JTextArea();
helpText.setEnabled(false);
helpText.setDisabledTextColor(Color.decode("#FFFFFF"));
JcrollPane pane = new JScrollPane(helpText);
pane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
pane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
JDialog help = new JDialog(mainActivity, "Help");
help.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
int widthActivity = (dimension.width - 800) / 2;
int heightActivity = (dimension.height - 600) / 2;
help.setBounds(widthActivity, heightActivity, 800, 600);
help.getContentPane().add(pane);
try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(helpFile.toString()), "cp1251"))) {
String s;
StringBuilder sb = new StringBuilder();
while((s=br.readLine())!=null){
sb.append(s).append(System.lineSeparator());
}
String text = sb.toString();
helpText.setText(text);
}
catch (IOException e1) {
logger.error("Ошибка при чтении файла помощи");
}
helpText.setDisabledTextColor(Color.decode("#FFFFFF"));
help.setVisible(true);
Если убрать строку helpText.setEbale(false);
то программа будет выдавать необходимый результат. Но у меня цель такова, чтобы текст нельзя было редакторовать.
Можно еще каким-нибудь способом ограничить ввод в JTextArea?
Вам нужен метод TextComponent#setEditable(boolean);
JFrame jFrame = new JFrame();
JTextArea textArea = new JTextArea();
textArea.setText("hello\nhello");
textArea.setEditable(false);
jFrame.add(new JScrollPane(textArea));
jFrame.setSize(200,200);
jFrame.setLocationRelativeTo(null);
jFrame.setVisible(true);
jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я совсем новичок в javaЕсть задача - приложение под android для редактирования json файла
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском
Мне необходимо отловить снятие программы с выполнения как это сделать? Событие windowDeactivated срабатывает не только в случае непредвиденного...
допустим у пользователь вводит "cosx/sinx+1", x нам известен (к примеру x = 5) Суть в том, что нельзя просто привести это всё к строке вида Mathcos(a)/Math