JSplitPane

1.将窗口分割成两部分。

2.JSplitPane提供两个常数让你设置到底是要水平分割还是垂直分割。

这两个常数分别是:HORIZONTAL_SPIT,  VERTICAL_SPLIT。

例如:splitPane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,text1,text2);此为水平分割;splitPane=new JSplitPane(JSplitPane.VERTICAL_SPLIT,text1,text2);此为垂直分割。

3.设置分割线的大小用的方法:

          setDividerSize(int size)设置分割条的大小。

package bianji;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JSplitPane;
import javax.swing.JTextArea;

public class B extends JFrame implements ActionListener{

	JMenuBar menuBar;
	JMenu menu;
	JSplitPane splitPane;
	JMenuItem itemCopy,itemCut,itemPaste;
	JTextArea text1,text2;
	public B(String s) {
               
		setTitle(s);
//		setSize(260, 270);
//		setLocation(120, 120);
		setBounds(120, 120, 260, 270);
		setVisible(true);
		menuBar=new JMenuBar();
		menu =new JMenu("编辑");
		itemCopy=new JMenuItem("复制");
		itemCut=new JMenuItem("剪切");
		itemPaste=new JMenuItem("粘贴");
		menu.add(itemCopy);
		menu.add(itemCut);
		menu.add(itemPaste);
		menuBar.add(menu);
		setJMenuBar(menuBar);
		text1=new JTextArea();
		text2=new JTextArea();
		splitPane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,text1,text2);//分割成两部分:一部分是text1,另一部分是text2
		splitPane.setDividerLocation(120);//分割线的大小
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		add(splitPane, BorderLayout.CENTER);
		validate();
		itemCopy.addActionListener(this);
		itemCut.addActionListener(this);
		itemPaste.addActionListener(this);
	
	}
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO a-generated method stub
		if (e.getSource()==itemCopy) {
			text1.copy();
		} else if (e.getSource()==itemCut) {
			text1.cut();
		} else if(e.getSource()==itemPaste){

			text2.paste();
		}
	}

}

JSplitPaneJava Swing库中的一个组件,它允许用户将应用程序界面分割成两个或更多的部分,每个部分可以独立地调整大小。关于你说的“加粗”,在标准Swing API中,并没有直接针对JSplitPane提供加粗的效果。如果你想让分隔线看起来更粗,你可以通过自定义外观来实现,比如修改分隔线组件的边框样式。 以下是一个简单的示例,如何通过CSS样式来改变分隔线的宽度: ```java import javax.swing.*; import javax.swing.plaf.basic.BasicSplitPaneUI; import java.awt.*; public class CustomSplitPane extends JFrame { private JSplitPane splitPane; public CustomSplitPane() { splitPane = new JSplitPane(); // 设置初始布局 setLayout(new BorderLayout()); add(splitPane, BorderLayout.CENTER); // 自定义UI BasicSplitPaneUI ui = (BasicSplitPaneUI) splitPane.getUI(); ui.setSplitterSize(5); // 更改分隔线宽度,数值越大越粗 // 可选:应用自定义CSS样式 try { Class<?> basicSplitPaneUIClass = Class.forName("javax.swing.plaf.basic.BasicSplitPaneUI"); Field field = basicSplitPaneUIClass.getDeclaredField("separatorColor"); field.setAccessible(true); Color separatorColor = new Color(0x808080); // 灰色作为示例,替换为你想要的颜色 field.set(ui, separatorColor); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { EventQueue.invokeLater(() -> { CustomSplitPane frame = new CustomSplitPane(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 300); frame.setVisible(true); }); } } ``` 在这个例子中,我们改变了基本分隔线UI的默认分隔线宽度,并设置了颜色,但这并不算真正的“加粗”效果,因为线条本身的粗细还是受限于操作系统主题和控件的最小尺寸限制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值