2012-04-01 28 views
7
JTextField tf = new JTextField(); 
tf.setBorder(new LineBorder(Color.red, 2)); 
Border border = tf.getBorder(); 

Làm cách nào để có được màu và kích thước viền?Java có màu và kích thước viền

+0

Dường như điều này là không thể, thật đáng buồn. – Zar

Trả lời

-1
JTextField.setPreferredSize(new Dimension(350, 20)); 
+3

Tôi nghĩ bạn đã hiểu sai câu hỏi ... anh ấy muốn * nhận * kích thước 'border' và * color *. – Craigy

-1
border.getBorderInsets(JTextField).bottom 
border.getBorderInsets(JTextField).left 
border.getBorderInsets(JTextField).right 
border.getBorderInsets(JTextField).top 
border.getLineColor() 
4

Để có được màu sắc biên giới:

((LineBorder)JTextField.getBorder()).getLineColor(); 

và điều này chỉ là một suy nghĩ về làm thế nào để có được kích thước biên giới, nếu bạn cho rằng kích thước biên giới là giống với kích thước thành phần bạn có thể truyền JTextField sang JComponent và lấy kích thước của JTextField:

((JComponent)JTextField).getSize(); 

nhưng bạn nên sử dụng nó sau khi đặt JTextField vào thùng chứa của nó, nếu không nó sẽ trở lại (0,0).

1
JTextField tf = new JTextField(); 
tf.setBorder(new LineBorder(Color.red, 2)); 
LineBorder border = (LineBorder) tf.getBorder(); 
System.out.println("Border color = "+ border.getLineColor() 
          + " size= " + border.getThickness()); 
Các vấn đề liên quan