我有布局问题。我希望JTextArea
在Jlabel
上方。如果运行当前代码,则JTextArea
与JLabel(右侧)出现在 same 行(左侧)上。我不知道如何解决此问题,因为我无法将其转换为两个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);
}
答案 0 :(得分:0)
虽然其他布局可能并不总是将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);