Java TextArea и JLabel на отдельной строке - PullRequest
0 голосов
/ 21 сентября 2018

У меня проблема с макетом.Я бы хотел, чтобы JTextArea был на линии выше Jlabel.Если я запускаю текущий код, JTextArea появляется в той же строке (слева), что и JLabel (справа).Я понятия не имею, как это исправить, так как я не могу преобразовать это в два Jlabels или что-нибудь еще в этом отношении.Я специально должен реализовать это, используя JTextArea и Jlabel.

Заранее спасибо.

this.AddTextArea1("127.0.0.1:3500", 1, 22 "Black");
this.createLabel(label2);

public void AddTextArea1(String text, int rows, int columns, String color) {
    JTextArea textarea1 = new JTextArea(text,rows,columns);
    if (color == "Gray") {
       textarea1.setBorder(BorderFactory.createLineBorder(Color.gray));
    } else if (color == "Black") {
       textarea1.setBorder(BorderFactory.createLineBorder(Color.black));
    }
    panel.add(textarea1);
}

public void createLabel(String text){
    JLabel label = new JLabel(text);
    panel.add(label);
}

1 Ответ

0 голосов
/ 21 сентября 2018

Хотя другие макеты могут не всегда блокировать 2 компонента в одном столбце или строке, вы можете использовать JSplitPane.

private javax.swing.JSplitPane jSplitPane1;

jSplitPane1 = new javax.swing.JSplitPane();
jSplitPane1.setDividerLocation(446); //sample width, please adjust
jSplitPane1.setDividerSize(0);

jSplitPane1.setLeftComponent(label);
jSplitPane1.setRightComponent(textarea1);
...