Swing组件的构造函数
2016-03-31 20:11
435 查看
先看一下效果
啥也不说了,直接上程序对比。
程序1:
1. setVisible()位置不同。
2.构造函数中,组件的添加顺序不同。程序1按照从小到大的顺序,程序2按照从大到小的顺序。
程序1必须在构造对象之后,使用setVisible方法,否则无法正常显示组件。原因不详。
啥也不说了,直接上程序对比。
程序1:
import java.awt.BorderLayout; import java.awt.Dimension; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; public class Client extends JFrame{ private JTextField textField; private JTextArea textArea; public Client(){ setTitle("客户端"); setBounds(100, 100, 373, 257); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JPanel panel = new JPanel(); this.add(panel,BorderLayout.NORTH); final JLabel label = new JLabel(); label.setText("路径:"); panel.add(label); textField = new JTextField(); textField.setPreferredSize(new Dimension(140, 25)); panel.add(textField); final JButton button = new JButton(); button.setText("选择视频"); panel.add(button); final JButton button2 = new JButton(); button2.setText("发送"); panel.add(button2); final JScrollPane scrollPane = new JScrollPane(); this.add(scrollPane,BorderLayout.CENTER); textArea = new JTextArea(); scrollPane.setViewportView(textArea); } public static void main(String[] args) { Client client = new Client(); client.setVisible(true); } }程序2:
import java.awt.BorderLayout; import java.awt.Dimension; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; public class Client extends JFrame{ private JTextField textField; private JTextArea textArea; public Client(){ final JPanel panel = new JPanel(); final JLabel label = new JLabel(); label.setText("路径:"); panel.add(label); textField = new JTextField(); textField.setPreferredSize(new Dimension(140, 25)); panel.add(textField); final JButton button = new JButton(); button.setText("选择视频"); panel.add(button); final JButton button2 = new JButton(); button2.setText("发送"); panel.add(button2); this.add(panel,BorderLayout.NORTH); final JScrollPane scrollPane = new JScrollPane(); textArea = new JTextArea(); scrollPane.setViewportView(textArea); this.add(scrollPane,BorderLayout.CENTER); setTitle("客户端"); setBounds(100, 100, 373, 257); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public static void main(String[] args) { Client client = new Client(); } }显著的区别:
1. setVisible()位置不同。
2.构造函数中,组件的添加顺序不同。程序1按照从小到大的顺序,程序2按照从大到小的顺序。
程序1必须在构造对象之后,使用setVisible方法,否则无法正常显示组件。原因不详。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树