level 8
setColumns();查了很久还是不明白它的用处
里面的数字随便改好像都没有变化
有人可以帮忙解释下吗?
2012年07月23日 09点07分
1
level 16
这是设宽度,每个单位宽度等于当前字体下 'm' 字符的宽度
10 就是:10 * 这个单位宽度
2012年07月23日 09点07分
2
level 8
但是我把里面的数字改成0或1000都没有什麽改变耶
2012年07月23日 09点07分
3
level 8
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
public class Practice extends JFrame {
private JPanel contentPane;
private JTextField textField1;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Practice frame = new Practice();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public Practice() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 466, 403);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
textField1 = new JTextField();
textField1.setBounds(172, 72, 96, 21);
contentPane.add(textField1);
textField1.setColumns(10);
}
}
就一个textfield 不过怎麽试都试不出分别来
2012年07月23日 10点07分
5
level 12
你用了 setBounds(),所以试不出区别来
如果你用了某些布局器来布局,比如 FlowLayout 等,这些布局器会尊重控件的 getPreferredSize()
这时候只要你不去手动 setPreferredSize(),那么一个 JTextField 的 preferredSize 就是根据它的 column 数,和字体大小决定的
这样你就能看出 setColumns() 的效果了。
2012年07月23日 10点07分
6