У меня есть проект, в котором я немного застрял. У меня есть JFrame
с JTextArea
и кнопка при нажатии кнопки, чтобы открыть тестовый класс в текстовой области кадра. Итак, мой вопрос: как мне получить класс теста для открытия в текстовой области фрейма?Отображать вывод класса в текстовой области при нажатии кнопки
Я пробовал getText(test())
, но он сказал, что не может найти тест метода символов.
Это мой JFrame
код:
package sunday;
/**
*
* @author warwick
*/
public class sunday1 extends javax.swing.JFrame {
/**
* Creates new form sunday1
*/
public sunday1() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
TxtField = new javax.swing.JTextArea();
btnOpen = new javax.swing.JToggleButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
TxtField.setColumns(20);
TxtField.setRows(5);
jScrollPane1.setViewportView(TxtField);
btnOpen.setText("Open");
btnOpen.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnOpenActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnOpen)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 225, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(57, 57, 57))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(52, 52, 52)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 212, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(101, 101, 101)
.addComponent(btnOpen)))
.addContainerGap(36, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void btnOpenActionPerformed(java.awt.event.ActionEvent evt) {
TxtField.setText(test());
}
Это мой код класса, который должен отображаться в текстовой области кадра.
public class sundaytest {
private void test() {
System.out.println("Hello World");
}
}
1) Слова, напечатанные во всех нижних регистрах, трудно читать, например, пытаться выслушать кого-то, кто бормочет. Пожалуйста, используйте письмо в верхнем регистре в начале предложений, для слова I и собственные имена, такие как 'ArrayList' или Oracle. 2) Пожалуйста, используйте форматирование кода для фрагментов кода и кода, структурированных документов, таких как HTML/XML или ввода/вывода. Для этого выберите текст и нажмите кнопку '{}' в верхней части формы публикации/редактирования сообщения. 3) См. [Использование нескольких JFrames, Хорошая/Плохая Практика?] (Http://stackoverflow.com/q/9554636/418556) –
Поверните свою проблему, попросите свой «тест» класс предоставить средство, с помощью которого класс кадра может извлечь нужную ему информацию, а затем включить класс рамки в текстовую область. – MadProgrammer
Класс sundaytest предназначен для вывода вывода в выходной поток 'System.out'. Хотя можно перенаправить выходной поток, было бы лучше перепроектировать класс для использования метода getString() 'или' getMessage() ', который возвращает« Hello World »' .. Тогда его экземпляр может быть используется для подачи текста для текстовой области в графическом интерфейсе или «System.out» по мере необходимости. –