3.3标签
图标和图片图标
package com.ym.lesson04;
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(){
IconDemo iconDemo = new IconDemo(20, 20);
//把图标放在标签上
JLabel jLabel = new JLabel("iconDemo",iconDemo,SwingConstants.CENTER);
Container container = getContentPane();
container.add(jLabel);
this.setVisible(true);
this.setBounds(10,10,150,150);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new IconDemo().init();
}
@Override
public void paintIcon(Component c, Graphics g, int x, int y) {
g.fillOval(x,y,width,height);
}
@Override
public int getIconWidth() {
return width;
}
@Override
public int getIconHeight() {
return height;
}
}
图片:
package com.ym.lesson04;
import javax.swing.*;
import java.awt.*;
import java.net.URL;
public class ImageIconDemo extends JFrame {
public ImageIconDemo(){
JLabel jLabel = new JLabel("ImageIcon");
//获取图片地址
URL url = ImageIconDemo.class.getResource("imageicondemo.png");
ImageIcon imageIcon = new ImageIcon(url);//注意命名冲突问题
jLabel.setIcon(imageIcon);
jLabel.setHorizontalAlignment(SwingConstants.CENTER);
Container container = getContentPane();
container.add(jLabel);
this.setVisible(true);
this.setBounds(10,10,100,100);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new ImageIconDemo();
}
}
3.4 面板
JPanel
package com.ym.lesson05;
import javax.swing.*;
import java.awt.*;
public class JPanelDemo extends JFrame {
public JPanelDemo(){
Container container = getContentPane();
container.setLayout(new GridLayout(1,2,5,5));
JPanel jPanel = new JPanel(new GridLayout(2,1));
JPanel jPane2 = new JPanel(new GridLayout(1,2));
jPanel.add(new JButton("1"));
jPanel.add(new JButton("1"));
jPane2.add(new JButton("2"));
jPane2.add(new JButton("2"));
container.add(jPanel);
container.add(jPane2);
setVisible(true);
setBounds(10,10,100,100);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JPanelDemo();
}
}
JScrollPane
package com.ym.lesson05;
import javax.swing.*;
import java.awt.*;
public class JScrollDemo extends JFrame {
public JScrollDemo(){
//文本域
JTextArea jTextArea = new JTextArea(10,10);
jTextArea.setText("你好呀");
//scroll面板
JScrollPane jScrollPane = new JScrollPane(jTextArea);
Container container = getContentPane();
container.add(jScrollPane);
this.setVisible(true);
this.setBounds(10,10,200,200);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JScrollDemo();
}
}
3.5 按钮
Jbutton
package com.ym.lesson05;
import javax.swing.*;
import java.awt.*;
import java.net.URL;
public class JButtonDemo01 extends JFrame {
public JButtonDemo01() {
//将图片变为图片图标
URL url = JButtonDemo01.class.getResource("btnicon.png");
ImageIcon imageIcon = new ImageIcon(url);
//把图标放在按钮上
JButton jButton = new JButton();
jButton.setIcon(imageIcon);
jButton.setToolTipText("图片图标按钮");
Container container = this.getContentPane();
container.add(jButton);
this.setVisible(true);
this.setSize(100,100);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JButtonDemo01();
}
}
单选按钮
package com.ym.lesson05;
import javafx.scene.control.RadioButton;
import javax.swing.*;
import java.awt.*;
import java.net.URL;
public class JButtonDemo02 extends JFrame {
public JButtonDemo02() {
Container container = this.getContentPane();
//将图片变为图片图标
URL url = JButtonDemo02.class.getResource("btnicon.png");
ImageIcon imageIcon = new ImageIcon(url);
//把图标放在按钮上
JButton jButton = new JButton();
jButton.setIcon(imageIcon);
//单选框
JRadioButton jRadioButton1 = new JRadioButton("jRadioButton1");
JRadioButton jRadioButton2 = new JRadioButton("jRadioButton2");
JRadioButton jRadioButton3 = new JRadioButton();
//把这三个按钮分到一个组里
ButtonGroup buttonGroup = new ButtonGroup();
buttonGroup.add(jRadioButton1);
buttonGroup.add(jRadioButton2);
buttonGroup.add(jRadioButton3);
container.add(jRadioButton1,BorderLayout.NORTH);
container.add(jRadioButton2,BorderLayout.CENTER);
container.add(jRadioButton3,BorderLayout.SOUTH);
this.setVisible(true);
this.setSize(100,100);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JButtonDemo02();
}
}
复选按钮
package com.ym.lesson05;
import javax.swing.*;
import java.awt.*;
import java.net.URL;
public class JButtonDemo03 extends JFrame {
public JButtonDemo03() {
Container container = this.getContentPane();
//将图片变为图片图标
URL url = JButtonDemo03.class.getResource("btnicon.png");
ImageIcon imageIcon = new ImageIcon(url);
//把图标放在按钮上
JButton jButton = new JButton();
jButton.setIcon(imageIcon);
//复选框
JCheckBox jCheckBox1 = new JCheckBox("jCheckBox1");
JCheckBox jCheckBox2 = new JCheckBox("jCheckBox2");
container.add(jCheckBox1,BorderLayout.NORTH);
container.add(jCheckBox2,BorderLayout.SOUTH);
// this.setLayout(new FlowLayout(FlowLayout.LEFT));
// this.setLayout(new GridLayout(2,1));
this.setVisible(true);
this.setSize(100,100);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JButtonDemo03();
}
}
3.6 列表
下拉列表
package com.ym.lesson06;
import javafx.scene.control.ComboBox;
import javax.swing.*;
import java.awt.*;
public class ComboboxDemo extends JFrame {
public ComboboxDemo() {
Container container = this.getContentPane();
JComboBox status = new JComboBox();
status.addItem("就业");
status.addItem("考研");
status.addItem("考公");
container.add(status);
this.setVisible(true);
this.setBounds(10,10,100,100);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new ComboboxDemo();
}
}
列表框
package com.ym.lesson06;
import javax.swing.*;
import java.awt.*;
import java.util.Vector;
public class ComboboxDemo2 extends JFrame {
public ComboboxDemo2() {
Container container = this.getContentPane();
//生成列表的内容
String[] contents1={"ha","haha","哈哈哈"};
JList jList1 = new JList(contents1);
container.add(jList1,BorderLayout.NORTH);
Vector contents2 = new Vector();
contents2.add("la");
contents2.add("lala");
contents2.add("啦啦啦");
JList jList2 = new JList(contents2);
container.add(jList2,BorderLayout.SOUTH);
this.setVisible(true);
this.setBounds(10,10,100,100);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new ComboboxDemo2();
}
}
3.7 文本框
文本框,文本域和密码框
package com.ym.lesson06;
import javax.swing.*;
import java.awt.*;
import java.util.Vector;
public class TextDemo extends JFrame {
public TextDemo() {
Container container = this.getContentPane();
//文本框JTextField
JTextField jTextField = new JTextField("haha",8);
//文本域JTextArea
JTextArea jTextArea = new JTextArea("hahahahahha",8,8);
//密码框JPasswordField
JPasswordField jPasswordField = new JPasswordField("12345678",8);
JPanel jPanel = new JPanel();
jPanel.add(jTextField);
jPanel.add(jTextArea);
jPanel.add(jPasswordField);
JScrollPane jScrollPane = new JScrollPane(jPanel);
container.add(jScrollPane);
this.setVisible(true);
this.setBounds(10,10,100,100);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new TextDemo();
}
}