当前位置: 代码迷 >> 综合 >> 分割面板、选项卡、桌面面板和内部窗体(JSplitPane 、JTabbedPane 和JDesktopPane )(简单代码例子实现)
  详细解决方案

分割面板、选项卡、桌面面板和内部窗体(JSplitPane 、JTabbedPane 和JDesktopPane )(简单代码例子实现)

热度:62   发布时间:2024-02-10 12:21:00.0

分割面板代码实例展示:

import java.awt.BorderLayout;
import java.awt.Container;
import java.sql.Connection;import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSplitPane;public class Main extends JFrame{public Main() {setTitle("分割面板");setBounds(100, 200, 300, 300);setDefaultCloseOperation(EXIT_ON_CLOSE);setVisible(true);Container c = getContentPane();JSplitPane jsp = new JSplitPane();//默认水平分割
// JSplitPane jsp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);c.add(jsp,BorderLayout.CENTER);jsp.setLeftComponent(new JLabel("左边"));JSplitPane jsp2 = new JSplitPane(JSplitPane.VERTICAL_SPLIT);//垂直分割jsp2.setLeftComponent(new JLabel("上面 "));jsp2.setRightComponent(new JLabel("下面 "));jsp.setRightComponent(jsp2);jsp2.setDividerSize(20);//分隔条宽度的像素jsp2.setContinuousLayout(true);//重绘分隔条jsp2.setOneTouchExpandable(true);//设置UI小部件jsp2.setDividerLocation(60);//设置上方高度为30像素}public static void main(String args[]) {new Main();}}

运行结果:
在这里插入图片描述

选项卡代码实例展示(图片我放src下了):

import java.awt.*;
import java.net.*;import javax.swing.*;
import javax.swing.event.*;public class Main extends JFrame {public static void main(String args[]) {Main frame = new Main();frame.setVisible(true);}public Main() {super();getContentPane().setFocusCycleRoot(true);setTitle("选项卡面板");setBounds(100, 100, 500, 375);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//选项卡的构造方式final JTabbedPane tabbedPane = new JTabbedPane();// 设置选项卡标签的布局方式tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);tabbedPane.addChangeListener(new ChangeListener() {//设置监听事件public void stateChanged(ChangeEvent e) {// 获得被选中选项卡的索引int selectedIndex = tabbedPane.getSelectedIndex();// 获得指定索引的选项卡标签String title = tabbedPane.getTitleAt(selectedIndex);System.out.println(title);}});//图片的插入getContentPane().add(tabbedPane, BorderLayout.CENTER);URL resource = Main.class.getResource("/tab.JPG");ImageIcon imageIcon = new ImageIcon(resource);final JLabel tabLabelA = new JLabel();tabLabelA.setText("桃花潭水深千尺,不及汪伦送我情");//内容//第一个参数是:标签的标题;第二个参数是:图片;第三个人参数是:文本框中的内容;;第四个参数是:鼠标悬停提示tabbedPane.addTab("李白", imageIcon, tabLabelA, "诗词查看");
// tabbedPane.setTabPlacement(JTabbedPane.LEFT);//选项卡放在右边
// tabbedPane.setTabLayoutPolicy(JTabbedPane.WRAP_TAB_LAYOUT);//限制布局
// tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);//滚动布局final JLabel tabLabelB = new JLabel();tabLabelB.setText("人生自古谁无死?留取丹心照汗青");tabbedPane.addTab("文天祥", imageIcon, tabLabelB,"概略");final JLabel tabLabelC = new JLabel();tabLabelC.setText("两个黄鹂鸣翠柳 ,一行白鹭上青天。");tabbedPane.addTab("杜甫", imageIcon, tabLabelC, "杜甫诗词");final JLabel tabLabelD = new JLabel();tabLabelD.setText("但愿人长久千里共婵娟");tabbedPane.addTab("苏轼", imageIcon, tabLabelD, "苏轼诗词");tabbedPane.setSelectedIndex(2); // 设置索引为2的选项卡被选中tabbedPane.setEnabledAt(2, false); // 设置索引为0的选项卡不可用}
}

运行结果
在这里插入图片描述

以下截图是对注释的部分代码功能的演示:
单独运行这段代码:
tabbedPane.setTabPlacement(JTabbedPane.LEFT);//选项卡放在右边
结果为:
在这里插入图片描述
单独运行这段代码: tabbedPane.setTabLayoutPolicy(JTabbedPane.WRAP_TAB_LAYOUT);//限制布局
结果为:
在这里插入图片描述

单独运行这段代码:
tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);//滚动布局
运行结果为
在这里插入图片描述
桌面面板和内部窗体代码实例展示:

import java.awt.*;
import java.net.*;import javax.swing.*;
import javax.swing.event.*;public class Main extends JFrame{public Main() {setTitle("桌面");setBounds(100, 200, 500, 500);setDefaultCloseOperation(EXIT_ON_CLOSE);setVisible(true);Container c =  getContentPane();JDesktopPane desk = new JDesktopPane();c.add(desk,BorderLayout.CENTER);JInternalFrame inFrame = new JInternalFrame();inFrame.setVisible(true);//显示窗体inFrame.setBounds(10, 10, 250, 180);//设置位置和大小inFrame.setTitle("内部窗体");inFrame.setResizable(true);inFrame.setIconifiable(true);//允许最小化inFrame.setMaximizable(true);//允许最大化inFrame.setClosable(true);//允许关闭ImageIcon icon = new ImageIcon("src/tab.JPG");inFrame.setFrameIcon(icon);//设置图标JLabel j = new JLabel("我是内部窗体");inFrame.add(j);desk.add(inFrame);}public static void main(String args[]) {new Main();}
}

运行结果:
在这里插入图片描述