我目前正在使用JTextArea。我的问题是我应该如何处理JTextArea所以我可以设置一个特定的大小,如果文本太多不适合,那么在JTextArea
上添加一个滑块?
这是创建我的JTextArea
的方法:
public JPanel create_Output_Panel(){
//Setup Main Panel of the Chat Application
JPanel panel = new JPanel();
title = BorderFactory.createTitledBorder("Server Screen");
title.setTitleJustification(TitledBorder.CENTER);
title.setTitleColor(Color.BLACK);
panel.setBorder(title); //Set title to the Panel
panel.setLayout(new BorderLayout());
//Store IP Address in a String variable
String ip_Address = new ChatServerViewer().getServer_IP_Addres();
JLabel label = new JLabel("You are connected to Server : " + ip_Address, SwingConstants.CENTER);
label.setFont(new Font("Serif", Font.PLAIN, 17));
panel.add(label,BorderLayout.NORTH);
JLabel label2 = new JLabel("Use .bye to log-out ", SwingConstants.CENTER);
label2.setFont(new Font("Serif", Font.BOLD, 20));
panel.add(label2);
//CREATE TEXT AREA FOR THE USER MESSAGES
textArea = new JTextArea(12,1);
textArea.setFont(new Font("Serif", Font.PLAIN, 25));
textArea.setEditable(false); //Block User from Editing the Text Area
textArea.setText("\n\n Server:");
textArea.append("\n Hello User !");
panel.add(textArea, BorderLayout.SOUTH);
return panel;
}
/**
* Reference : https://stackoverflow.com/questions/10177183/java-add-scroll-into-text-area
* Reference : https://docs.oracle.com/javase/tutorial/uiswing/components/scrollpane.html#sizing
* @return a panel of a JTextArea inside an ScrollPane
*/
public JPanel create_Output_Panel(){
//Setup Main Panel of the Chat Application
JPanel panel = new JPanel();
title = BorderFactory.createTitledBorder("Server Screen");
title.setTitleJustification(TitledBorder.CENTER);
title.setTitleColor(Color.BLACK);
panel.setBorder(title); //Set title to the Panel
panel.setLayout(new BorderLayout());
//Store IP Address in a String variable
String ip_Address = new ChatServerViewer().getServer_IP_Addres();
JLabel label = new JLabel("You are connected to Server : " + ip_Address, SwingConstants.CENTER);
label.setFont(new Font("Serif", Font.PLAIN, 17));
panel.add(label,BorderLayout.NORTH);
JLabel label2 = new JLabel("Use .bye to log-out ", SwingConstants.CENTER);
label2.setFont(new Font("Serif", Font.BOLD, 20));
panel.add(label2);
//CREATE TEXT AREA FOR THE USER MESSAGES
textArea = new JTextArea(15,0);
textArea.setFont(new Font("Serif", Font.BOLD, 20));
textArea.setEditable(false); //Block User from Editing the Text Area
textArea.setLineWrap(true);
JScrollPane areaScrollPane = new JScrollPane(textArea);
areaScrollPane.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
System.out.println("textArea height = " + textArea.getSize().width);
textArea.setText(" Server>>> ");
textArea.append("Connection Succesful !");
panel.add(areaScrollPane, BorderLayout.SOUTH);
return panel;
}