2015-10-21 4 views
0

Мне было интересно, есть ли способ написать графический интерфейс Java, где, когда вы нажимаете кнопки, и текст будет напечатан в другом окне. Например, может быть набор из шести кнопок, и можно было бы назвать мир привет, а при нажатии вывод печатается в другое окно в текстовом поле. Вроде бы есть горячие клавиши в графическом интерфейсе для печати сообщений. Я исследовал это, но не повезло.Ярлыки для печати в отдельном окне

+1

Да, это почти такая же основная идея получает уведомление, когда кнопка нажата нормально и уведомляет другой класс о том, что произошло событие. Фактическая реализация будет в значительной степени зависеть от структуры, которую вы хотели использовать, но это просто в основном [шаблон наблюдателя] (http://www.oodesign.com/observer-pattern.html) – MadProgrammer

+0

Так что в основном это было бы как HotKeys, но внутри java-программу. Я посмотрел пример java с помощью печати Hello world на консоль, но при построении он не печатает, где это видно. –

ответ

0

Если вы используете качели, есть много решений. Один из них - создать новый кадр и передать ваше значение новому кадру. Example here

+0

А если это HTML? JavaFX? SWT? GWT? Если вы попытаетесь ответить на этот вопрос, тогда вам нужно будет предоставить возможные реализации для всех возможных фреймворков. Я предлагаю сделать комментарий, пока мы не сможем получить разъяснения о фактической структуре, используемой OP. * «Рекомендуются ссылки на внешние ресурсы, но, пожалуйста, добавьте контекст вокруг ссылки, чтобы у ваших коллег было некоторое представление о том, что это такое и почему оно есть. Всегда указывайте наиболее значимую часть важной ссылки, если целевой сайт недоступен или постоянно отключается. "* – MadProgrammer

0

Во-первых, вы можете создать два класса в одном пакете и сделать их так, как вы хотите (например, положить jlabels, textAreas, jButtons и т. Д.). Затем в первом классе (класс с кнопками) создайте экземпляр второго класса. Я имею в виду

public class Class1 extends JFrame { 
    public Class2 obj = new Class2(); 

затем в анонимном классе (класс событий), сделать то, что вы хотите (например, получение текстов, создание текста и т.д.) и вызывать кадр вашего второго класса и сделать его видимым здесь. Что-то вроде того;

obj.txt.setText(textObj.getText()); 
obj.frame.setVisible(true); //it's important, if you don't set it visible you cannot see a new screen 

Таким образом, он открывает новый экран, и вы видите текст, введенный вами в первом классе. Я думаю, тебе нужно что-то подобное. Если это не ясно, я могу привести пример кода здесь.

Смежные вопросы