- Using Text Components
- Adding Text In a New Window
- Adding Text In a New Window
- Java Tutorial 52 (JavaFX / GUI)
- Java — Creating JFrames & Adding JLabels + Positioning Text
- 15 Java AWT TextArea — Append Text and Insert text at cursor position
- How to add lines of text to a window in Java swing?
- How to put a text area (JTextArea) into a window (JFrame)?
- How to add text inside an SWT window: Java, Eclipse
- Text in window java
- Вывод на консоль
- Ввод с консоли
Using Text Components
This section provides background information you might need when using Swing text components. If you intend to use an unstyled text component a text field, password field, formatted text field, or text area go to its how-to page and return here only if necessary. If you intend to use a styled text component, see How to Use Editor Panes and Text Panes, and read this section as well. If you do not know which component you need, read on.
Swing text components display text and optionally allow the user to edit the text. Programs need text components for tasks ranging from the straightforward (enter a word and press Enter) to the complex (display and edit styled text with embedded images in an Asian language).
Swing provides six text components, along with supporting classes and interfaces that meet even the most complex text requirements. In spite of their different uses and capabilities, all Swing text components inherit from the same superclass, JTextComponent , which provides a highly-configurable and powerful foundation for text manipulation.
The following figure shows the JTextComponent hierarchy.
The following picture shows an application called TextSamplerDemo that uses each Swing text component.
Try this:
- Click the Launch button to run TextSamplerDemo using Java™ Web Start (download JDK 7 or later). Alternatively, to compile and run the example yourself, consult the example index.
- Type some text in the text field and press Enter. Do the same in the password field. The label beneath the fields is updated when you press Enter.
- Try entering valid and invalid dates into the formatted text field. Note that when you press Enter the label beneath the fields is updated only if the date is valid.
- Select and edit text in the text area and the text pane. Use keyboard bindings, Ctrl-X, Ctrl-C, and Ctrl-V, to cut, copy, and paste text, respectively.
- Try to edit the text in the editor pane, which has been made uneditable with a call to setEditable .
- Look in the text pane to find an example of an embedded component and an embedded icon.
The TextSamplerDemo example uses the text components in very basic ways. The following table tells you more about what you can do with each kind of text component.
Because they are so powerful and flexible, styled text components typically require more initial programming to set up and use. One exception is that editor panes can be easily loaded with formatted text from a URL, which makes them useful for displaying uneditable help information.
This Tutorial provides information about the foundation laid by the JTextComponent class and tells you how to accomplish some common text-related tasks.
To learn more about text components in JavaFX, see the Using Text and Text Effects in JavaFX and Using JavaFX UI Controls: Text Field tutorials.
Adding Text In a New Window
As you call getContentPane() instead of creating a new one the ContentPane is already part of the JFrame. All elements of the ContentPane will be displayed as part of the JFrame.
Adding Text In a New Window
You can try something like
JDialog dialog = new JDialog(your_frame_reference, "Licence"); dialog .setModal(true); dialog .setLocationRelativeTo(null); dialog. getContentPane().add(new JLabel(your_text); dialog .setVisible(true);
JFrame frame = new JFrame("Licence"); JLabel label = new JLabel("Text-Only Label"); label.setFont(new Font("Serif", Font.PLAIN, 36)); frame.add(label);
You can add text by creating JLabels like so:
JLabel label = new JLabel("Hello World");
This can then be added to your JFrame.
Java Add Image on JFrame, Java how to add an image onto a frame or JFrame using a label. Duration: 4:17
Java Tutorial 52 (JavaFX / GUI)
This video will show you how to create a window by using JavaFX. This video will also show you Duration: 12:51
Java — Creating JFrames & Adding JLabels + Positioning Text
Missing: onto | Must include:
15 Java AWT TextArea — Append Text and Insert text at cursor position
How to add lines of text to a window in Java swing?
I want to put a few lines of text about the boxes
I recommend to add a JLabel to the window.
Add this to your code after adding the last subPanel primary.add(subPanel36); :
JPanel container = new JPanel(); JLabel lblAboutBoxes = new JLabel("Please select an Area or a Type Of Model from the drop down menus"); lblAboutBoxes.setHorizontalAlignment(JLabel.CENTER); lblAboutBoxes.setFont(new Font("Courier New", Font.BOLD, 22)); container.setLayout(new BoxLayout(container, BoxLayout.Y_AXIS)); container.add(lblAboutBoxes); container.add(primary);
frame.getContentPane().add(primary);
frame.getContentPane().add(container);
Need to add text to JFrame, JFrame myCalc = new JFrame(«Area/Volume Calculator»); JTextField input; myCalc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); myCalc.setSize(
How to put a text area (JTextArea) into a window (JFrame)?
in line 16 you create a JScrollPane which wraps around your JTextArea object. On line 21 you add this JScrollPane, which contains your TextArea to the ContentPane of the JFrame.As you call getContentPane() instead of creating a new one the ContentPane is already part of the JFrame.
All elements of the ContentPane will be displayed as part of the JFrame. The add method of JFrame is only for convenience and forwards the call to the JFrames ContentPane.
The scroll pane scrollingArea is created with the text area inside. scrollPane , was constructed with text area m_resultArea (see the documentation for JScrollPane ‘s constructor). is then added to the frame’s content pane.
The GUI elements should be constructed on the EDT. Here is a more reliable main() method for the program cited above.
public static void main(String[] args) < EventQueue.invokeLater(new Runnable() < @Override public void run() < JFrame win = new TextAreaDemo(); win.setTitle("TextAreaDemo"); win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); win.pack(); win.setVisible(true); >>); >
How to insert a text onto a window java Code Example, JLabel label1 = new JLabel(«Test»); label1.setText(«Label Text»)
How to add text inside an SWT window: Java, Eclipse
Have a look at the SWT Snippets.
There are code examples for all the widgets.
- Use Label or Text for simple text you want to display
- Use Text for input
- Use a group of Button s with style SWT.RADIO for radio selection buttons
- Use a Button with style SWT.CHECK for a checkbox
Also, here is the overview of all the widgets there are.
And finally there is this excellent tutorial by Vogella about SWT in general and of course every SWT developers bread and butter: Understanding Layouts in SWT.
Adding text to a JFrame, JFrame frame = new JFrame(); JPanel panel= new JPanel(); JLabel label= new JLabel(); label.setText(«test»); panel.add(label);
Text in window java
Наиболее простой способ взаимодействия с пользователем представляет консоль: мы можем выводить на консоль некоторую информацию или, наоборот, считывать с консоли некоторые данные. Для взаимодействия с консолью в Java применяется класс System , а его функциональность собственно обеспечивает консольный ввод и вывод.
Вывод на консоль
Для создания потока вывода в класс System определен объект out . В этом объекте определен метод println , который позволяет вывести на консоль некоторое значение с последующим переводом курсора консоли на следующую строку. Например:
В метод println передается любое значение, как правило, строка, которое надо вывести на консоль. И в данном случае мы получим следующий вывод:
При необходимости можно и не переводить курсор на следующую строку. В этом случае можно использовать метод System.out.print() , который аналогичен println за тем исключением, что не осуществляет перевода на следующую строку.
Консольный вывод данной программы:
Но с помощью метода System.out.print также можно осуществить перевод каретки на следующую строку. Для этого надо использовать escape-последовательность \n:
System.out.print("Hello world \n");
Нередко необходимо подставлять в строку какие-нибудь данные. Например, у нас есть два числа, и мы хотим вывести их значения на экран. В этом случае мы можем, например, написать так:
public class Program < public static void main(String[] args) < int x=5; int y=6; System.out.println("x=" + x + "; y console">x=5; y=6Но в Java есть также функция для форматированного вывода, унаследованная от языка С: System.out.printf() . С ее помощью мы можем переписать предыдущий пример следующим образом:
int x=5; int y=6; System.out.printf("x=%d; y=%d \n", x, y);В данном случае символы %d обозначают спецификатор, вместо которого подставляет один из аргументов. Спецификаторов и соответствующих им аргументов может быть множество. В данном случае у нас только два аргумента, поэтому вместо первого %d подставляет значение переменной x, а вместо второго - значение переменной y. Сама буква d означает, что данный спецификатор будет использоваться для вывода целочисленных значений.
Кроме спецификатора %d мы можем использовать еще ряд спецификаторов для других типов данных:
- %x : для вывода шестнадцатеричных чисел
- %f : для вывода чисел с плавающей точкой
- %e : для вывода чисел в экспоненциальной форме, например, 1.3e+01
- %c : для вывода одиночного символа
- %s : для вывода строковых значений
При выводе чисел с плавающей точкой мы можем указать количество знаков после запятой, для этого используем спецификатор на %.2f , где .2 указывает, что после запятой будет два знака. В итоге мы получим следующий вывод:
Name: Tom Age: 30 Height: 1,70
Ввод с консоли
Для получения ввода с консоли в классе System определен объект in . Однако непосредственно через объект System.in не очень удобно работать, поэтому, как правило, используют класс Scanner , который, в свою очередь использует System.in . Например, напишем маленькую программу, которая осуществляет ввод чисел:
import java.util.Scanner; public class Program < public static void main(String[] args) < Scanner in = new Scanner(System.in); System.out.print("Input a number: "); int num = in.nextInt(); System.out.printf("Your number: %d \n", num); in.close(); >>
Так как класс Scanner находится в пакете java.util , то мы вначале его импортируем с помощью инструкции import java.util.Scanner .
Для создания самого объекта Scanner в его конструктор передается объект System.in . После этого мы можем получать вводимые значения. Например, в данном случае вначале выводим приглашение к вводу и затем получаем вводимое число в переменную num.
Чтобы получить введенное число, используется метод in.nextInt(); , который возвращает введенное с клавиатуры целочисленное значение.
Input a number: 5 Your number: 5
Класс Scanner имеет еще ряд методов, которые позволяют получить введенные пользователем значения:
- next() : считывает введенную строку до первого пробела
- nextLine() : считывает всю введенную строку
- nextInt() : считывает введенное число int
- nextDouble() : считывает введенное число double
- nextBoolean() : считывает значение boolean
- nextByte() : считывает введенное число byte
- nextFloat() : считывает введенное число float
- nextShort() : считывает введенное число short
То есть для ввода значений каждого примитивного типа в классе Scanner определен свой метод.
Например, создадим программу для ввода информации о человеке:
import java.util.Scanner; public class Program < public static void main(String[] args) < Scanner in = new Scanner(System.in); System.out.print("Input name: "); String name = in.nextLine(); System.out.print("Input age: "); int age = in.nextInt(); System.out.print("Input height: "); float height = in.nextFloat(); System.out.printf("Name: %s Age: %d Height: %.2f \n", name, age, height); in.close(); >>
Здесь последовательно вводятся данные типов String, int, float и потом все введенные данные вместе выводятся на консоль. Пример работы программы:
Input name: Tom Input age: 34 Input height: 1,7 Name: Tom Age: 34 Height: 1,70
Обратите внимание, что для ввода значения типа float (то же самое относится к типу double) применяется число "1,7", где разделителем является запятая, а не "1.7", где разделителем является точка. В данном случае все зависит от текущей языковой локализации системы. В моем случае русскоязычная локализация, соответственно вводить необходимо числа, где разделителем является запятая. То же самое касается многих других локализаций, например, немецкой, французской и т.д., где применяется запятая.