您的位置:首页 > 编程语言 > Java开发

Swing组件的构造函数

2016-03-31 20:11 435 查看
先看一下效果



啥也不说了,直接上程序对比。

程序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 swing