提交 62ef0647 编写于 作者: 御承扬

Update

上级 6111ca21
......@@ -2,8 +2,10 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="4e65795a-6659-4829-a5e6-120206826e71" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/src/高级Swing组件/JSplitPaneTest.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/高级Swing组件/JTabbedPaneTest.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/out/production/IDEA_JAVA/高级Swing组件/JSplitPaneTest.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/IDEA_JAVA/高级Swing组件/JSplitPaneTest.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/高级Swing组件/JSplitPaneTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/高级Swing组件/JSplitPaneTest.java" afterDir="false" />
</list>
<list id="cbcb3066-613e-44bd-84c2-b0cf22cc5a78" name="New changelist" comment="New changelist" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
......@@ -100,7 +102,7 @@
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
<property name="nodejs_package_manager_path" value="npm" />
<property name="project.structure.last.edited" value="Facets" />
<property name="project.structure.last.edited" value="Modules" />
<property name="project.structure.proportion" value="0.15" />
<property name="project.structure.side.proportion" value="0.2" />
<property name="run.code.analysis.last.selected.profile" value="pProject Default" />
......@@ -128,13 +130,13 @@
</list>
</option>
</component>
<component name="RunManager" selected="应用程序.JSplitPaneTest">
<configuration name="AbsolutePosition" type="Application" factoryName="应用程序" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="Swing程序设计.AbsolutePosition" />
<component name="RunManager" selected="应用程序.JTabbedPaneTest">
<configuration name="ChatRoomServer" type="Application" factoryName="应用程序" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="chating.ChatRoomServer" />
<module name="IDEA_JAVA" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="Swing程序设计.*" />
<option name="PATTERN" value="chating.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
......@@ -142,8 +144,8 @@
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="ChatRoomServer" type="Application" factoryName="应用程序" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="chating.ChatRoomServer" />
<configuration name="ClientFrame" type="Application" factoryName="应用程序" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="chating.ClientFrame" />
<module name="IDEA_JAVA" />
<extension name="coverage">
<pattern>
......@@ -155,12 +157,12 @@
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="ClientFrame" type="Application" factoryName="应用程序" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="chating.ClientFrame" />
<configuration name="JSplitPaneTest" type="Application" factoryName="应用程序" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="高级Swing组件.JSplitPaneTest" />
<module name="IDEA_JAVA" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="chating.*" />
<option name="PATTERN" value="高级Swing组件.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
......@@ -168,8 +170,8 @@
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="JSplitPaneTest" type="Application" factoryName="应用程序" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="高级Swing组件.JSplitPaneTest" />
<configuration name="JTabbedPaneTest" type="Application" factoryName="应用程序" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="高级Swing组件.JTabbedPaneTest" />
<module name="IDEA_JAVA" />
<extension name="coverage">
<pattern>
......@@ -196,11 +198,11 @@
</configuration>
<recent_temporary>
<list>
<item itemvalue="应用程序.JTabbedPaneTest" />
<item itemvalue="应用程序.JSplitPaneTest" />
<item itemvalue="应用程序.LinkServerFrame" />
<item itemvalue="应用程序.ClientFrame" />
<item itemvalue="应用程序.ChatRoomServer" />
<item itemvalue="应用程序.AbsolutePosition" />
</list>
</recent_temporary>
</component>
......@@ -296,21 +298,11 @@
<workItem from="1564191917955" duration="4492000" />
<workItem from="1564212242488" duration="11381000" />
<workItem from="1564277249449" duration="4889000" />
<workItem from="1564298033758" duration="5268000" />
</task>
<task id="LOCAL-00016" summary="Update">
<created>1560782052681</created>
<option name="number" value="00016" />
<option name="presentableId" value="LOCAL-00016" />
<option name="project" value="LOCAL" />
<updated>1560782052681</updated>
</task>
<task id="LOCAL-00017" summary="Update">
<created>1560839297742</created>
<option name="number" value="00017" />
<option name="presentableId" value="LOCAL-00017" />
<option name="project" value="LOCAL" />
<updated>1560839297742</updated>
<workItem from="1564298033758" duration="5860000" />
<workItem from="1564305246624" duration="1570000" />
<workItem from="1564388982650" duration="80000" />
<workItem from="1564389100723" duration="329000" />
<workItem from="1564389477910" duration="5189000" />
</task>
<task id="LOCAL-00018" summary="Update">
<created>1561105194487</created>
......@@ -641,7 +633,21 @@
<option name="project" value="LOCAL" />
<updated>1564224271252</updated>
</task>
<option name="localTasksCounter" value="65" />
<task id="LOCAL-00065" summary="Update">
<created>1564304204174</created>
<option name="number" value="00065" />
<option name="presentableId" value="LOCAL-00065" />
<option name="project" value="LOCAL" />
<updated>1564304204174</updated>
</task>
<task id="LOCAL-00066" summary="Update">
<created>1564304255941</created>
<option name="number" value="00066" />
<option name="presentableId" value="LOCAL-00066" />
<option name="project" value="LOCAL" />
<updated>1564304255941</updated>
</task>
<option name="localTasksCounter" value="67" />
<servers />
</component>
<component name="TodoView" selected-index="3">
......@@ -692,102 +698,4 @@
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
<option name="FILTER_TARGETS" value="false" />
</component>
<component name="masterDetails">
<states>
<state key="ArquillianSettingsConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ArtifactsStructureConfigurable.UI">
<settings>
<artifact-editor />
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="FacetStructureConfigurable.UI">
<settings>
<last-edited>No facets are configured</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="GlobalLibrariesConfigurable.UI">
<settings>
<last-edited>java12</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="JdkListConfigurable.UI">
<settings>
<last-edited>12</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ModuleStructureConfigurable.UI">
<settings>
<last-edited>IDEA_JAVA</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ProjectLibrariesConfigurable.UI">
<settings>
<last-edited>java12</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ScopeChooserConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
</states>
</component>
</project>
\ No newline at end of file
......@@ -29,8 +29,8 @@ public class JSplitPaneTest extends JFrame{
vSplitPane.setDividerSize(8); // 分隔条宽度为 8 像素
vSplitPane.setOneTouchExpandable( true ); // 提供 UI 小部件
vSplitPane.setContinuousLayout( true ); // 设置分隔条移动时连续重绘,分隔条会跟随鼠标指针移动
vSplitPane.setLeftComponent( new JLabel( " 2" ) );
vSplitPane.setRightComponent( new JLabel( " 3" ) );
vSplitPane.setTopComponent( new JLabel( " 2" ) );
vSplitPane.setBottomComponent( new JLabel( " 3" ) );
hSplitPane.setRightComponent( vSplitPane ); // 将垂直分割面板添加到水平分割面板的右侧
}
......
package 高级Swing组件;
// !/usr/bin/env jdk1.8
// encoding:utf-8
//@software:IntelliJ IDEA
//@pack:高级Swing组件
//@user:彭友聪
//@date:2019/07/29
//@time:下午 4:38
//@project:IDEA_JAVA
//@file:JTabbedPaneTest.java
//Author:御承扬
//email:2923616405@qq.com
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class JTabbedPaneTest extends JFrame {
private JPanel contentPane; // 窗体容器面板
private JTabbedPane tabbedPane; // 选项卡面板
private JRadioButton radioButtonTop; // “选项卡在顶部”单选按钮
private AbstractButton abstractButtonDown; // “选项卡在底部”单选按钮
private JRadioButton radioButtonLeft; // “选项卡在左侧”单选按钮
private AbstractButton abstractButtonRight; // “选项卡在右侧”单选按钮
private AbstractButton abstractButtonWrap; // 限制布局单选按钮
private AbstractButton abstractButtonScroll; // 滚动布局按钮
private JTabbedPaneTest() {
setTitle( "演示选项卡面板" );
setDefaultCloseOperation( WindowConstants.EXIT_ON_CLOSE );
setBounds( 100,100,475,325 );
// 创建内容面板,内容面板布局为边界布局。把选项卡面板放置在内容面板中间
contentPane = new JPanel( );
tabbedPane = new JTabbedPane( );
contentPane.setBorder( new EmptyBorder( 5,5,5,5 ) ); // 无边框
contentPane.setLayout( new BorderLayout( 0,0 ) );
contentPane.add(tabbedPane,BorderLayout.CENTER);
setContentPane( contentPane ); // 重新设置窗口容器
buttonsInit(); // 按钮初始化
tabbedPaneInit(); // 选项卡面板初始化
addListener(); // 添加监听
setVisible( true );
}
// 按钮初始化
private void buttonsInit() {
// 创建单选按钮面板。单选按钮面板为表格布局(8行1列),把单选按钮面板置于内容面板的西侧
JPanel panel = new JPanel( );
contentPane.add(panel, BorderLayout.WEST);
panel.setLayout( new GridLayout( 8,1,0,0 ) );
// “选项卡方向按钮”标签
JLabel lblDirections = new JLabel( "选项卡方向按钮" );
lblDirections.setHorizontalAlignment( SwingConstants.CENTER );
lblDirections.setFont(new Font("华文楷体",Font.BOLD,14));
panel.add( lblDirections );
// “选项卡在顶部”单选按钮
radioButtonTop = new JRadioButton( "选项卡在顶部" );
radioButtonTop.setSelected( true ); // 设置默认被选中
radioButtonTop.setFont(new Font("华文楷体",Font.PLAIN,14));
panel.add( radioButtonTop );
// "选项卡在底部“单选按钮
abstractButtonDown = new JRadioButton( "选项卡在底部" );
abstractButtonDown.setFont(new Font("华文楷体",Font.PLAIN,14));
panel.add( abstractButtonDown );
// “选项卡在左侧”单选按钮
radioButtonLeft = new JRadioButton( "选项卡在左侧" );
radioButtonLeft.setFont(new Font("华文楷体",Font.PLAIN,14));
panel.add(radioButtonLeft);
// “选项卡在右侧”单选按钮
abstractButtonRight = new JRadioButton( "选项卡在右侧" );
abstractButtonRight.setFont(new Font("华文楷体",Font.PLAIN,14));
panel.add(abstractButtonRight);
// 把选项卡的窗格位置:顶部、底部、左侧、右侧,添加到一个方向按钮组里
ButtonGroup groupDirections = new ButtonGroup();
groupDirections.add(radioButtonTop);
groupDirections.add(abstractButtonDown);
groupDirections.add(radioButtonLeft);
groupDirections.add(abstractButtonRight);
// “选项卡布局按钮”标签
JLabel lblLayout = new JLabel( "选项卡布局按钮" );
lblLayout.setHorizontalAlignment( SwingConstants.CENTER );
lblLayout.setFont( new Font("华文楷体",Font.BOLD,14) );
panel.add( lblLayout );
// "限制布局”单选按钮
abstractButtonWrap = new JRadioButton( "限制布局" );
abstractButtonWrap.setSelected( true ); // 默认选中
abstractButtonWrap.setFont(new Font("华文楷体",Font.PLAIN,14));
panel.add( abstractButtonWrap );
// “滚动布局”单选按钮
abstractButtonScroll = new JRadioButton( "滚动布局" );
abstractButtonScroll.setFont(new Font("华文楷体",Font.PLAIN,14));
panel.add( abstractButtonScroll );
// 把选项卡布局按钮添加到一个按钮组里
ButtonGroup groupLayout = new ButtonGroup();
groupLayout.add( abstractButtonWrap );
groupLayout.add(abstractButtonScroll);
}
// 选项卡面板初始化
private void tabbedPaneInit() {
// 选项卡中的窗格内容(“罗永浩”)与标签内容(“我不是为了输赢,我就是认真”)
JLabel lbLYH = new JLabel( "我不是为了输赢,我就是认真" );
lbLYH.setFont(new Font("华文楷体",Font.PLAIN,14));
lbLYH.setHorizontalAlignment( SwingConstants.CENTER );
tabbedPane.addTab( "罗永浩", lbLYH );
// 选项卡中的窗格内容(“乔帮主”)与标签内容(“Stay Hungry, Stay Foolish”)
JLabel lbJobs = new JLabel( "Stay Hungry, Stay Foolish" );
lbJobs.setFont(new Font("华文楷体",Font.PLAIN,14));
lbJobs.setHorizontalAlignment( SwingConstants.CENTER );
tabbedPane.addTab( "乔帮主", lbJobs );
// 选项卡中的窗格内容(“罗振宇”)与标签内容(“死磕自己,愉悦大家”)
JLabel lbLZY = new JLabel( "死磕自己,愉悦大家" );
lbLZY.setFont(new Font("华文楷体",Font.PLAIN,14));
lbLZY.setHorizontalAlignment( SwingConstants.CENTER );
tabbedPane.addTab( "罗振宇", lbLZY );
}
// 监听方法
private void addListener() {
radioButtonTop.addActionListener( new ActionListener() { // 选项卡在顶部按钮添加监听
@Override
public void actionPerformed(ActionEvent e) {
tabbedPane.setTabPlacement( SwingConstants.TOP ); // 设置选项卡窗格在顶部,以下皆类似
}
} );
radioButtonLeft.addActionListener( new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
tabbedPane.setTabPlacement( SwingConstants.LEFT );
}
} );
abstractButtonRight.addActionListener( new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
tabbedPane.setTabPlacement( SwingConstants.RIGHT );
}
} );
abstractButtonDown.addActionListener( new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
tabbedPane.setTabPlacement( SwingConstants.BOTTOM );
}
} );
// 布局按钮添加监听
abstractButtonWrap.addActionListener( new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
tabbedPane.setTabLayoutPolicy( JTabbedPane.WRAP_TAB_LAYOUT );
}
} );
abstractButtonScroll.addActionListener( new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
tabbedPane.setTabLayoutPolicy( JTabbedPane.SCROLL_TAB_LAYOUT );
}
} );
}
public static void main(String[] args) {
JTabbedPaneTest jt = new JTabbedPaneTest();
jt.setVisible( true );
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册