java-Swing-窗口设计-1
package com.etc.jtextfield;
import javax.swing.*;
/**
* JButton 按钮 创建可输入窗口
*/
public class SwingDemo {
private static void createGUI(){
// JFrame指一个窗口,构造方法的参数为窗口标题
MyFrame frame = new MyFrame("Swing Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置窗口的其他参数,如窗口大小
frame.setSize(400,300);
frame.setVisible(true);
}
public static void main(String[] args) {
// 此段代码间接地调用了 createGUI()
javax.swing.SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
createGUI();
}
});
}
}
package com.etc.jtextfield;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MyFrame extends JFrame {
JLabel label = new JLabel("姓名");
// 注意:构造参数,16表示16列,用于计算宽度显示,并不是字符个数限制
JTextField textField = new JTextField(16);
JButton button = new JButton("确定");
public MyFrame(String title){
super(title);
// 内容面板 (ContentPane)
Container contentPane = getContentPane();
contentPane.setLayout(new FlowLayout());
// 添加控件
contentPane.add(label);
contentPane.add(textField);
contentPane.add(button);
// 按钮点击处理
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
onButtOK();
}
});
}
// 事件处理
private void onButtOK(){
String str = textField.getText();
// 消息提示框 ( 注意 showMessageDialog() 是静态方法 ,所以直接用类名调用即可,不用新创建)
JOptionPane.showMessageDialog(this,"输入了: " + str);
}
}