Как я могу написать новую строку в многострочном текстовом поле?

import javax.swing.*;
import java.awt.*;
class Myframec extends JFrame
{

    Myframec()
    {
        Container c = this.getContentPane();
        c.setLayout(null);

        this.setBounds(10,10,700,500);
        this.setTitle("Welcome");

        this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
        JPanel panel = new JPanel();
        panel.setBounds(0,0,700,500);
        panel.setBackground(Color.gray);
        panel.setLayout(null);
        c.add(panel);
        Font f = new Font("Arial",Font.BOLD,25);
        Font f1 = new Font("Arial",Font.BOLD,20);
        JLabel lable = new JLabel();
        lable.setBounds(130,10,400,100);
        lable.setText("Apple Inc. Member Login Port");
        lable.setFont(f);
        panel.add(lable);
        JTextField login = new JTextField("Login",10);
        login.setBounds(120,150,400,30);
        login.setFont(f1);
        panel.add(login);
        JPasswordField pass =new JPasswordField("Password");
        pass.setBounds(120,200,400,30);
        pass.setFont(f1);


        lable.setFont(f);
        panel.add(pass);
        c.setVisible(true);
        this.setVisible(true);
    }
    public static void main(String[] argm)
    {
        Myframec frame = new Myframec();
        frame.setVisible(true);
    }
}
0
задан Ivan Kaloyanov 17 January 2019 в 07:28
поделиться

3 ответа

Вы можете проверить это самостоятельно, если напишите многострочный текст

Ввод:

1

2

3

4

5

6

7

в текстовое поле с помощью конструктора и свойства Text, вы можете видеть, что он генерирует что-то вроде этого:

текстовое значение:

"1 \ r \ n2 \ r \ n3 \ r \ n4 \ r \ n5 \ r \ n6 \ r \ n7 "

Код:

string txt = multiLineTextBox.Text;

Поэтому, если вы добавите \r\n к существующему тексту, он добавит текст в новую строку:

for (int i = Convert.ToInt32(textBox1.Text); i <= Convert.ToInt32(textBox2.Text); i++)
{
    int a = i % 2;
    if (a == 0)
    {
        textBox3.Text = $"{textBox3.Text}{i}\r\n";
        // or using string.Format for older versions
        //textBox3.Text = string.Format("{0}{1}\r\n", textBox3.Text, i);
    }
}
0
ответ дан SeM 17 January 2019 в 07:28
поделиться

Убедитесь, что вы установили для свойства Multiline значение true в textBox3.

Вы можете установить его через окно свойств после выбора textbox3 или написать строку ниже в конструкторе формы после завершения initializeComponents.

textBox3.Multiline = true;

Как только это будет сделано, Environment.NewLine или \ r \ n оба должны работать.

0
ответ дан Manoj Choudhari 17 January 2019 в 07:28
поделиться

Это происходит потому, что вы каждый раз перезаписываете.

Попробуйте следующий код:

textBox3.Text += i.ToString()+Environment.NewLine; 
0
ответ дан Access Denied 17 January 2019 в 07:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: