Java——窗体:JFrame、JPanel等
1.JFrame
创建一个新的窗体
import java.awt.Color; import javax.swing.JFrame; //主类 //Function : JFrame_demo public class JFrame_demo { public static void main(String[] args) { // TODO 自动生成的方法存根 JFrame f = new JFrame("Swing窗口"); f.setSize(230,80); f.setBackground(Color.WHITE); f.setLocation(300, 200); f.setVisible(true); } }
除了JFrame表示之外,还有其他几种常见的窗体:JPanel、JSplitPane、JTabbedPane、JScrollPane、JDesktopPane、JInternalFrame等。
2.JPanel
import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; //主类 //Function : JPanel_demo public class JPanel_demo { public static void main(String[] args) { // TODO 自动生成的方法存根 JFrame f = new JFrame("Swing窗口"); //实例化窗体对象 JPanel pan = new JPanel(); //实例化JPanel对象 pan.add(new JLabel("标签--A")); pan.add(new JLabel("标签--B")); pan.add(new JLabel("标签--C")); pan.add(new JButton("按钮--A")); pan.add(new JButton("按钮--B")); pan.add(new JButton("按钮--C")); f.add(pan); //将JPanel加入到窗体中 f.pack(); f.setLocation(300,200); //设置显示位置 f.setVisible(true); } }
3.JSplitPane
import java.awt.Container; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JSplitPane; //主类 //Function : JSplitPane_demo public class JSplitPane_demo { public static void main(String[] args) { // TODO 自动生成的方法存根 JFrame f = new JFrame("Swing窗口"); //实例化窗体对象 Container cont = f.getContentPane(); //得到窗体容器 JSplitPane lfsplit = null; //左右分割的JSplitPane JSplitPane tbsplit = null; //上下分割的JSplitPane lfsplit = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,new JLabel("左标签"),new JLabel("右标签")); lfsplit.setDividerSize(20); //设置左右的分割线大小 tbsplit = new JSplitPane(JSplitPane.VERTICAL_SPLIT,lfsplit,new JLabel("右标签")); tbsplit.setDividerSize(10); //按百分比设置上下的分割线大小 tbsplit.setOneTouchExpandable(true); //快速展开/折叠分割条 cont.add(tbsplit); //将tbsplit加入到窗体 f.setSize(230, 80); //设置窗体 f.setLocation(300,200); //设置显示位置 f.setVisible(true); } }
4.JTabbedPane
import java.awt.Container; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTabbedPane; //主类 //Function : JTabbedPane_demo public class JTabbedPane_demo { public static void main(String[] args) { // TODO 自动生成的方法存根 JFrame f = new JFrame("Swing窗口"); //实例化窗体对象 Container cont = f.getContentPane(); //得到窗体容器 JTabbedPane tab = null; tab = new JTabbedPane(JTabbedPane.TOP); //设置标签在顶部显示 JPanel pan1 = new JPanel(); //设置面板 JPanel pan2 = new JPanel(); //设置面板 JButton but = new JButton("按钮"); //定义按钮 JLabel lab = new JLabel("标签"); //定义标签 pan1.add(but); pan2.add(lab); String picPath = "/home/common/software/database/123.jpg"; tab.addTab("图片选项", new ImageIcon(picPath), pan1,"图像"); tab.addTab("文字选项", pan2); cont.add(tab); //加入到容器中 f.setSize(440, 320); //设置窗体 f.setLocation(300,200); //设置显示位置 f.setVisible(true); } }
5.JScrollPane
import java.awt.Container; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; //主类 //Function : JScrollPane_demo public class JScrollPane_demo { public static void main(String[] args) { // TODO 自动生成的方法存根 JFrame f = new JFrame("Swing窗口"); //实例化窗体对象 Container cont = f.getContentPane(); //得到窗体容器 String picPath = "/home/common/software/database/photo.jpg"; Icon icon = new ImageIcon(picPath); //实例化Icon对象 JPanel pan = new JPanel(); //定义一个面板 JLabel lab = new JLabel(icon); //定义一个标签,显示图片 pan.add(lab); //将标签加到面板中 JScrollPane scrl = null; //声明滚动面板 scrl = new JScrollPane(pan,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); cont.add(scrl); //加入到容器中 f.setSize(440, 320); //设置窗体 f.setLocation(300,200); //设置显示位置 f.setVisible(true); } }
6.JDesktopPane和JInternalFrame
import java.awt.BorderLayout; import java.awt.Container; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JDesktopPane; import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JPanel; //主类 //Function : JDesktopPane_demo public class JDesktopPane_demo { public static void main(String[] args) { // TODO 自动生成的方法存根 JFrame f = new JFrame("Swing窗口"); //实例化窗体对象 f.setLayout(new BorderLayout()); //设置布局管理器 Container cont = f.getContentPane(); //得到窗体容器 JDesktopPane desk = new JDesktopPane(); //实例化JDesktopPane容器 cont.add(desk, BorderLayout.CENTER); //将Desktop加入到窗体 JInternalFrame jif = null; //声明一个内部窗体对象 String picPath = "/home/common/software/database/123.jpg"; Icon icon = new ImageIcon(picPath); //实例化Icon对象 JPanel pan = null; for(int i=0;i<3;i++){ jif = new JInternalFrame("指定标签"+i,true,true,true,true); pan = new JPanel(); //定义一个面板 pan.add(new JLabel(icon)); //加入一个标签 jif.setLocation(35-i*10, 35-i*10); //设置显示位置 jif.add(pan); jif.pack(); jif.setVisible(true); desk.add(jif); //将内部窗体加入到Desktop中 } f.setSize(440, 320); //设置窗体 f.setLocation(300,200); //设置显示位置 f.setVisible(true); } }
本文只发表于博客园和tonglin0325的博客,作者:tonglin0325,转载请注明原文链接:https://www.cnblogs.com/tonglin0325/p/5307165.html