package corejavaI.layout;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
public class TextComponentTest {
public static void main(String[] args) {
JFrame frame = new TextComponentFrame();
frame.setTitle("textComponent");
frame.setLocation(200, 100);
// frame.setSize(200, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class TextComponentFrame extends JFrame{
public static final int DEFAULT_ROWS = 8;
public static final int DEFAULT_COLUMNS = 20;
public TextComponentFrame(){
final JTextField textField = new JTextField();
final JPasswordField passwordField = new JPasswordField();
JPanel northPanel = new JPanel();
northPanel.setLayout(new GridLayout(2, 2));
northPanel.add(new JLabel("User name: ", SwingConstants.RIGHT));
northPanel.add(textField);
northPanel.add(new JLabel("Password: ", SwingConstants.RIGHT));
northPanel.add(passwordField);
add(northPanel, BorderLayout.NORTH);
final JTextArea textArea = new JTextArea(DEFAULT_ROWS, DEFAULT_COLUMNS);
JScrollPane scrollPane = new JScrollPane(textArea);
add(scrollPane, BorderLayout.CENTER);
JPanel southPanel = new JPanel();
JButton insertButton = new JButton("Insert");
southPanel.add(insertButton);
insertButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textArea.append("User name: " + textField.getText() + " Password: " + new String(passwordField.getPassword()) + "\n");
}
});
add(southPanel, BorderLayout.SOUTH);
pack();//此方法可以不用再设置frame的大小,会自动紧促布局组件
}
}
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
public class TextComponentTest {
public static void main(String[] args) {
JFrame frame = new TextComponentFrame();
frame.setTitle("textComponent");
frame.setLocation(200, 100);
// frame.setSize(200, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class TextComponentFrame extends JFrame{
public static final int DEFAULT_ROWS = 8;
public static final int DEFAULT_COLUMNS = 20;
public TextComponentFrame(){
final JTextField textField = new JTextField();
final JPasswordField passwordField = new JPasswordField();
JPanel northPanel = new JPanel();
northPanel.setLayout(new GridLayout(2, 2));
northPanel.add(new JLabel("User name: ", SwingConstants.RIGHT));
northPanel.add(textField);
northPanel.add(new JLabel("Password: ", SwingConstants.RIGHT));
northPanel.add(passwordField);
add(northPanel, BorderLayout.NORTH);
final JTextArea textArea = new JTextArea(DEFAULT_ROWS, DEFAULT_COLUMNS);
JScrollPane scrollPane = new JScrollPane(textArea);
add(scrollPane, BorderLayout.CENTER);
JPanel southPanel = new JPanel();
JButton insertButton = new JButton("Insert");
southPanel.add(insertButton);
insertButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textArea.append("User name: " + textField.getText() + " Password: " + new String(passwordField.getPassword()) + "\n");
}
});
add(southPanel, BorderLayout.SOUTH);
pack();//此方法可以不用再设置frame的大小,会自动紧促布局组件
}
}