Java Swing中添加图标、对话框、分割线、信息提示、面板的使用

来源:互联网 发布:申请域名 编辑:程序博客网 时间:2024/04/29 13:58

(一).JLabel、JButton、JFrame、JPane等可以设置图标,接下来代码演示一下

package com.Swing;import java.awt.*;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;class IconDemo {    IconDemo() {        JFrame f = new JFrame();        //使用ImageIO也可以获取image        Image image = Toolkit.getDefaultToolkit().getImage("D:\\1.jpg");        JLabel label=new JLabel();        label.setSize(390,390);        label.setIcon( new ImageIcon(image));        f.add(label);        f.setIconImage(image);        f.setLayout(null);        f.setSize(400, 400);        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        f.setVisible(true);    }    public static void main(String args[]) {        new IconDemo();    }}

输出
这里写图片描述

(二).对话框常用方法的使用

  1. showMessageDialog(Component parentComponent, Object message)
  2. showMessageDialog(Component parentComponent, Object message, String title, int messageType)
  3. showConfirmDialog(Component parentComponent, Object message)
  4. showInputDialog(Component parentComponent, Object message)

(三)代码演示

1.比如登录账号后的提示

package com.Swing;import javax.swing.*;  public class OptionPaneDemo1 {  JFrame f;  OptionPaneDemo1(){      f=new JFrame();      JOptionPane.showMessageDialog(f,"账号登录成功!!!");  }  public static void main(String[] args) {      new OptionPaneDemo1();  }  }  

这里写图片描述

2.比如登录有误的提示

package com.Swing;import javax.swing.*;public class OptionPaneDemo2{    JFrame f;    OptionPaneDemo1() {        f = new JFrame();        JOptionPane.showMessageDialog(f, "账号或密码错误,请重新输入...", "Alert", JOptionPane.WARNING_MESSAGE);    }    public static void main(String[] args) {        new OptionPaneDemo1();    }}

这里写图片描述

3.输入对话框

package com.Swing;import javax.swing.*;public class OptionPaneDemo3 {    JFrame f;    OptionPaneDemo1() {        f = new JFrame();        String name = JOptionPane.showInputDialog(f,"请输入姓名");    }    public static void main(String[] args) {        new OptionPaneDemo1();    }}

这里写图片描述

4.确认对话框的使用

package com.Swing;import javax.imageio.ImageIO;import javax.swing.*;import java.awt.Image;import java.awt.event.*;import java.io.File;import java.io.IOException;public class OptionPaneDemo4 extends WindowAdapter {    JFrame f;    JLabel label;    ImageIO imageIO;    Image image;    OptionPaneDemo1() throws IOException {        f = new JFrame();        label=new JLabel();         label.setSize(400, 400);        image=ImageIO.read(new File("D:\\4.jpg"));        label.setIcon(new ImageIcon(image));        f.setIconImage(image);        f.add(label);        f.addWindowListener(this);        f.setSize(400, 400);        f.setLayout(null);        f.setLocationRelativeTo(null);        f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);        f.setVisible(true);    }    public void windowClosing(WindowEvent e) {        int a = JOptionPane.showConfirmDialog(f, "是否退出系统?");        if (a == JOptionPane.YES_OPTION) {            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        }    }    public static void main(String[] args) throws IOException {        new OptionPaneDemo1();    }}

这里写图片描述

(四)分割线在菜单项中的使用

package com.Swing;import javax.swing.*;class SeparatorDemo {    JMenu menu, submenu;    JMenuItem i1, i2, i3, i4, i5;    SeparatorDemo() {        JFrame f = new JFrame("演示");        JMenuBar mb = new JMenuBar();        menu = new JMenu("文件");        i1 = new JMenuItem("新建文件");        i2 = new JMenuItem("打开文件");        i3 = new JMenuItem("关闭");        i4 = new JMenuItem("保存");        i5 = new JMenuItem("打印");        menu.add(i1);        menu.addSeparator();        menu.add(i2);        menu.addSeparator();        menu.add(i3);        menu.addSeparator();        menu.add(i4);        menu.addSeparator();        menu.add(i5);        mb.add(menu);        f.setJMenuBar(mb);        f.setSize(400, 400);        f.setLocationRelativeTo(null);        f.setLayout(null);        f.setVisible(true);    }    public static void main(String args[]) {        new SeparatorDemo();    }}

这里写图片描述

(五)信息提示

package com.Swing;import javax.swing.*;public class TooltipsDemo {    public static void main(String[] args) {        JFrame f = new JFrame("演示");        JPasswordField value = new JPasswordField();        value.setBounds(60, 100, 140, 30);        value.setToolTipText("输入密码");        JLabel l1 = new JLabel("密码:");        l1.setBounds(20, 100, 80, 30);        f.add(value);        f.add(l1);        f.setSize(300, 300);        f.setLocationRelativeTo(null);        f.setLayout(null);        f.setVisible(true);    }}

这里写图片描述

(六)面板的使用

面板可以添加组件,设置组件在面板上的位置和大小,设置好以后再将面板添加到JFrame中。

package com.Swing;import java.awt.*;  import javax.swing.*;  public class JPaneDemo {      JPaneDemo() {        JFrame f = new JFrame("演示");        JPanel panel = new JPanel();        panel.setBounds(90, 80, 200, 200);        panel.setBackground(Color.gray);        JButton b1 = new JButton("登录");        b1.setBounds(50, 100, 80, 30);        b1.setBackground(Color.GREEN);        JButton b2 = new JButton("退出");        b2.setBounds(100, 100, 80, 30);        b2.setBackground(Color.RED);        panel.add(b1);        panel.add(b2);        f.add(panel);        f.setSize(400, 400);        f.setLocationRelativeTo(null);        f.setLayout(null);        f.setVisible(true);    }          public static void main(String args[])          {          new JPaneDemo();          }      }  

输出:
这里写图片描述

阅读全文
0 0