窗口、面板
创建窗口:
import javax.swing.*;
import java.awt.*;
public class TestJframe {
public static void main(String[] args) {
//创建JFrame窗口
JFrame jFrame = new JFrame();
jFrame.setBackground(Color.BLUE);
jFrame.setBounds(100,100,200,200);
jFrame.setVisible(true);
//关闭窗口
jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
Label label = new Label("我的第一个JFrame窗口");
jFrame.add(label);
}
}
弹窗
public class DialogDemo extends JFrame {
public void init() {
//设置窗口的
setBounds(100, 100, 200, 200);
setVisible(true);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
//设置窗口的布局
//得到一个容器,窗口所有的操作dou在容器中进行
Container container = this.getContentPane();
container.setLayout(null);
//创建button
JButton button = new JButton("按钮");
button.setBounds(20, 20, 50, 50);
//设置按钮事件监听
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//创建一个弹窗
new DialogLintener();
}
});
//添加button
container.add(button);
}
public static void main(String[] args) {
//初始化
new DialogDemo().init();
}
}
//创建弹窗
class DialogLintener extends JDialog {
public DialogLintener() {
setSize(100, 100);
setBackground(Color.green);
setVisible(true);
setLayout(null);
JLabel j = new JLabel("弹窗", SwingConstants.CENTER);
add(j);
}
}
将图标画上窗口
import javax.swing.*;
import java.awt.*;
public class IconDemo extends JFrame implements Icon {
private int width;
private int height;
public IconDemo(){
}
public IconDemo (int width,int height){
this.width=width;
this.height=height;
}
//初始化
public void init(){
setSize(200,200);
setVisible(true);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
//创建一个标签
IconDemo iconDemo = new IconDemo(10, 10);
JLabel jLabel = new JLabel("icondemo", iconDemo,SwingConstants.CENTER);
Container container = getContentPane();
container.add(jLabel);
}
public static void main(String[] args) {
new IconDemo().init();
}
//实现icon接口重载的方法
@Override
public void paintIcon(Component c, Graphics g, int x, int y) {
g.fillOval(x,y,width,height);
}
@Override
public int getIconWidth() {
return this.width;
}
@Override
public int getIconHeight() {
return this.height;
}
}
按钮
1.单选按钮
import javax.swing.*;
import java.awt.*;
import java.net.URL;
public class JButtonDemo02 extends JFrame {
public JButtonDemo02() {
Container container = this.getContentPane();
//将一个图片变为图标
URL resource = JButtonDemo01.class.getResource("tx.jpg");
Icon icon = new ImageIcon(resource);
//单选框
JRadioButton radioButton1 = new JRadioButton("JRadioButton01");
JRadioButton radioButton2 = new JRadioButton("JRadioButton02");
JRadioButton radioButton3 = new JRadioButton("JRadioButton03");
//由于单选框只能选择一个,分组,一个组中只能选择一个
ButtonGroup group = new ButtonGroup();
group.add(radioButton1);
group.add(radioButton2);
group.add(radioButton3);
container.add(radioButton1,BorderLayout.CENTER);
container.add(radioButton2,BorderLayout.NORTH);
container.add(radioButton3,BorderLayout.SOUTH);
this.setVisible(true);
this.setSize(500,300);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JButtonDemo02();
}
}
2.多选按钮
import javax.swing.*;
import java.awt.*;
import java.net.URL;
public class JButtonDemo03 extends JFrame {
public JButtonDemo03() {
Container container = this.getContentPane();
//将一个图片变为图标
URL resource = JButtonDemo01.class.getResource("tx.jpg");
Icon icon = new ImageIcon(resource);
//多选框
JCheckBox checkBox01 = new JCheckBox("checkBox01");
JCheckBox checkBox02 = new JCheckBox("checkBox02");
container.add(checkBox01,BorderLayout.NORTH);
container.add(checkBox02,BorderLayout.SOUTH);
this.setVisible(true);
this.setSize(500,300);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JButtonDemo03();
}
}
列表框
1.下拉框
public class JComboBoxDemo extends JFrame {
public void init(){
JComboBox jComboBox = new JComboBox();
jComboBox.addItem("1");
jComboBox.addItem("2");
jComboBox.addItem("3");
jComboBox.addItem("4");
Container container = this.getContentPane();
container.add(jComboBox);
setVisible(true);
setSize(100,100);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JComboBoxDemo().init();
}
}
2.列表框
import javax.swing.*;
import java.awt.*;
import java.util.Vector;
public class JLIstDemo extends JFrame {
public void init(){
//得到容器
Container container = getContentPane();
//创建容器
Vector vector = new Vector<>();
//创建列表框
JList jl = new JList(vector);
vector.add("10");
vector.add("9");
vector.add("8");
vector.add("7");
//将列表框添加进容器
container.add(jl);
setVisible(true);
setSize(200,150);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JLIstDemo().init();
}
}
文本框
1.文本框`
import javax.swing.*;
import java.awt.*;
public class TextFieldDemo extends JFrame {
public void init(){
//创建文本框
JTextField jtextField1 = new JTextField();
//得到容器
Container container = getContentPane();
//将文本框添加进容器
container.add(jtextField1);
setVisible(true);
setSize(200,150);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new TextFieldDemo().init();
}
}
2.密码框
import javax.swing.*;
import java.awt.*;
public class JpassworldFieldDemo extends JFrame {
public void init(){
//创建密码框
JPasswordField jPasswordField = new JPasswordField();
//设置代替密码的字符
jPasswordField.setEchoChar('*');
//得到容器
Container contentPane = getContentPane();
//将密码框添加进容器
contentPane.add(jPasswordField);
setVisible(true);
setSize(100,70);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JpassworldFieldDemo().init();
}
}
3.文本域
import javax.swing.*;
import java.awt.*;
public class JTextAreaDemo extends JFrame {
public void init(){
//创建文本域
JTextArea jTextArea = new JTextArea(50,50);
//创建Scroll面板,将文本域添加进面板
JScrollPane scrollPane = new JScrollPane(jTextArea);
//获得容器
Container contentPane = getContentPane();
//将面板添加进容器
contentPane.add(scrollPane);
setVisible(true);
setSize(200,100);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JTextAreaDemo().init();
}
}