下面列出了怎么用javax.swing.plaf.basic.BasicSplitPaneDivider的API类实例代码及写法,或者点击链接到github查看源代码。
public void selectSplitPaneDividerLocation() throws InterruptedException {
final LoggingRecorder lr = new LoggingRecorder();
siw(new Runnable() {
@Override
public void run() {
JSplitPane splitPane = (JSplitPane) ComponentUtils.findComponent(JSplitPane.class, frame);
splitPane.setDividerLocation(300);
BasicSplitPaneDivider divider = (BasicSplitPaneDivider) ComponentUtils.findComponent(BasicSplitPaneDivider.class,
splitPane);
RSplitPane rDivider = new RSplitPane(divider, null, null, lr);
rDivider.mouseReleased(null);
}
});
Call call = lr.getCall();
AssertJUnit.assertEquals("select", call.getFunction());
AssertJUnit.assertEquals("300", call.getState());
}
/**
* Searches divider inside split pane.
*
* @return an operator for the divider.
*/
public BasicSplitPaneDivider findDivider() {
return ((BasicSplitPaneDivider) waitSubComponent(new ComponentChooser() {
@Override
public boolean checkComponent(Component comp) {
return comp instanceof BasicSplitPaneDivider;
}
@Override
public String getDescription() {
return "";
}
@Override
public String toString() {
return "JSplitPaneOperator.findDivider.ComponentChooser{description = " + getDescription() + '}';
}
}));
}
@SuppressWarnings("deprecation")
@Override
public void layout() {
super.layout();
BasicSplitPaneDivider divider = ((BasicSplitPaneUI)getUI()).getDivider();
Rectangle bounds = divider.getBounds();
if( orientation == HORIZONTAL_SPLIT ) {
bounds.x -= dividerDragOffset;
bounds.width = dividerDragSize;
} else {
bounds.y -= dividerDragOffset;
bounds.height = dividerDragSize;
}
divider.setBounds(bounds);
}
private void tweakSplitPaneUI(JSplitPane splitPane) {
splitPane.setOpaque(false);
splitPane.setBorder(null);
splitPane.setDividerSize(3);
if (!(splitPane.getUI() instanceof BasicSplitPaneUI)) {
return;
}
BasicSplitPaneDivider divider = ((BasicSplitPaneUI) splitPane.getUI()).getDivider();
if (divider != null) {
divider.setBorder(null);
}
}
private void tweakSplitPaneUI(JSplitPane splitPane) {
splitPane.setOpaque(false);
splitPane.setBorder(null);
splitPane.setDividerSize(3);
if (!(splitPane.getUI() instanceof BasicSplitPaneUI)) {
return;
}
BasicSplitPaneDivider divider = ((BasicSplitPaneUI) splitPane.getUI()).getDivider();
if (divider != null) {
divider.setBorder(null);
}
}
private void tweakSplitPaneUI(JSplitPane splitPane) {
splitPane.setOpaque(false);
splitPane.setBorder(null);
splitPane.setDividerSize(3);
if (!(splitPane.getUI() instanceof BasicSplitPaneUI)) {
return;
}
BasicSplitPaneDivider divider = ((BasicSplitPaneUI) splitPane.getUI()).getDivider();
if (divider != null) {
divider.setBorder(null);
}
}
private static void tweakSplitPaneUI(JSplitPane splitPane) {
splitPane.setOpaque(false);
splitPane.setBorder(null);
splitPane.setDividerSize(3);
if (!(splitPane.getUI() instanceof BasicSplitPaneUI)) {
return;
}
BasicSplitPaneDivider divider = ((BasicSplitPaneUI) splitPane.getUI()).getDivider();
if (divider != null) {
divider.setBorder(null);
}
}
static ComponentBuilder getBuilder(Instance instance, Heap heap) {
if (DetailsUtils.isSubclassOf(instance, JViewport.class.getName())) {
return new JViewportBuilder(instance, heap);
} else if (DetailsUtils.isSubclassOf(instance, JScrollPane.class.getName())) {
return new JScrollPaneBuilder(instance, heap);
} else if (DetailsUtils.isSubclassOf(instance, JSplitPane.class.getName())) {
return new JSplitPaneBuilder(instance, heap);
} else if (DetailsUtils.isSubclassOf(instance, BasicSplitPaneDivider.class.getName())) {
return new BasicSplitPaneDividerBuilder(instance, heap);
} else if (DetailsUtils.isSubclassOf(instance, JTabbedPane.class.getName())) {
return new JTabbedPaneBuilder(instance, heap);
}
return null;
}
protected void setupInstance(BasicSplitPaneDivider instance) {
super.setupInstance(instance);
// instance.setDividerSize(dividerSize);
if (border != null) {
Border b = border.createInstance();
if (b != null) instance.setBorder(b);
}
}
protected BasicSplitPaneDivider createInstanceImpl() {
final JSplitPane split = new JSplitPane(orientation);
BasicSplitPaneUI ui = split.getUI() instanceof BasicSplitPaneUI ?
(BasicSplitPaneUI)split.getUI() : new BasicSplitPaneUI() {
{ installUI(split); }
};
return new BasicSplitPaneDivider(ui);
}
private void tweakUI() {
setBorder(null);
setDividerSize(5);
if (!(getUI() instanceof BasicSplitPaneUI)) return;
BasicSplitPaneDivider divider = ((BasicSplitPaneUI)getUI()).getDivider();
if (divider != null) {
Color c = UIUtils.isNimbus() ? UIUtils.getDisabledLineColor() :
new JSeparator().getForeground();
divider.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, c));
}
}
private void tweakUI() {
if (!(getUI() instanceof BasicSplitPaneUI)) {
return;
}
BasicSplitPaneDivider divider = ((BasicSplitPaneUI) getUI()).getDivider();
if (divider != null) {
divider.addMouseListener(new DividerMouseListener());
}
}
public BasicSplitPaneDivider createDefaultDivider() {
return new BasicSplitPaneDivider( this ) {
public void setBorder( final Border b ) {
// ahh, lovely mac-osx would slap its borders everywhere.
}
};
}
public BasicSplitPaneDivider createDefaultDivider() {
return new BasicSplitPaneDivider(this) {
public void paint(Graphics g) {
Dimension size = getSize();
g.setColor(getBackground());
g.fillRect(0, 0, size.width, size.height);
}
};
}
public BasicSplitPaneDivider createDefaultDivider() {
return new BasicSplitPaneDivider(this) {
public void paint(Graphics g) {
Dimension size = getSize();
g.setColor(getBackground());
g.fillRect(0, 0, size.width, size.height);
}
};
}
private void tweakSplitPaneUI(JSplitPane splitPane) {
splitPane.setOpaque(false);
splitPane.setBorder(null);
splitPane.setDividerSize(3);
if (!(splitPane.getUI() instanceof BasicSplitPaneUI)) {
return;
}
BasicSplitPaneDivider divider = ((BasicSplitPaneUI) splitPane.getUI()).getDivider();
if (divider != null) {
divider.setBorder(null);
}
}
private void tweakSplitPaneUI(JSplitPane splitPane) {
splitPane.setOpaque(false);
splitPane.setBorder(null);
splitPane.setDividerSize(3);
if (!(splitPane.getUI() instanceof BasicSplitPaneUI)) {
return;
}
BasicSplitPaneDivider divider = ((BasicSplitPaneUI) splitPane.getUI()).getDivider();
if (divider != null) {
divider.setBorder(null);
}
}
private void tweakSplitPaneUI(JSplitPane splitPane) {
splitPane.setOpaque(false);
splitPane.setBorder(null);
splitPane.setDividerSize(3);
if (!(splitPane.getUI() instanceof BasicSplitPaneUI)) {
return;
}
BasicSplitPaneDivider divider = ((BasicSplitPaneUI) splitPane.getUI()).getDivider();
if (divider != null) {
divider.setBorder(null);
}
}
private static void tweakSplitPaneUI(JSplitPane splitPane) {
splitPane.setOpaque(false);
splitPane.setBorder(null);
splitPane.setDividerSize(3);
if (!(splitPane.getUI() instanceof BasicSplitPaneUI)) {
return;
}
BasicSplitPaneDivider divider = ((BasicSplitPaneUI) splitPane.getUI()).getDivider();
if (divider != null) {
divider.setBorder(null);
}
}
static ComponentBuilder getBuilder(Instance instance, Heap heap) {
if (DetailsUtils.isSubclassOf(instance, JViewport.class.getName())) {
return new JViewportBuilder(instance, heap);
} else if (DetailsUtils.isSubclassOf(instance, JScrollPane.class.getName())) {
return new JScrollPaneBuilder(instance, heap);
} else if (DetailsUtils.isSubclassOf(instance, JSplitPane.class.getName())) {
return new JSplitPaneBuilder(instance, heap);
} else if (DetailsUtils.isSubclassOf(instance, BasicSplitPaneDivider.class.getName())) {
return new BasicSplitPaneDividerBuilder(instance, heap);
} else if (DetailsUtils.isSubclassOf(instance, JTabbedPane.class.getName())) {
return new JTabbedPaneBuilder(instance, heap);
}
return null;
}
protected void setupInstance(BasicSplitPaneDivider instance) {
super.setupInstance(instance);
// instance.setDividerSize(dividerSize);
if (border != null) {
Border b = border.createInstance();
if (b != null) instance.setBorder(b);
}
}
protected BasicSplitPaneDivider createInstanceImpl() {
final JSplitPane split = new JSplitPane(orientation);
BasicSplitPaneUI ui = split.getUI() instanceof BasicSplitPaneUI ?
(BasicSplitPaneUI)split.getUI() : new BasicSplitPaneUI() {
{ installUI(split); }
};
return new BasicSplitPaneDivider(ui);
}
private void tweakUI() {
setBorder(null);
setDividerSize(5);
if (!(getUI() instanceof BasicSplitPaneUI)) return;
BasicSplitPaneDivider divider = ((BasicSplitPaneUI)getUI()).getDivider();
if (divider != null) {
Color c = UIUtils.isNimbus() ? UIUtils.getDisabledLineColor() :
new JSeparator().getForeground();
divider.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, c));
}
}
private void tweakUI() {
if (!(getUI() instanceof BasicSplitPaneUI)) {
return;
}
BasicSplitPaneDivider divider = ((BasicSplitPaneUI) getUI()).getDivider();
if (divider != null) {
divider.addMouseListener(new DividerMouseListener());
}
}
public BasicSplitPaneDivider createDefaultDivider() {
return new BasicSplitPaneDivider(this) {
public void paint(Graphics g) {
Dimension size = getSize();
g.setColor(getBackground());
g.fillRect(0, 0, size.width, size.height);
}
};
}
public BasicSplitPaneDivider createDefaultDivider() {
return new BasicSplitPaneDivider(this) {
public void paint(Graphics g) {
Dimension size = getSize();
g.setColor(getBackground());
g.fillRect(0, 0, size.width, size.height);
}
};
}
@Override
public void setLocked(boolean locked) {
this.locked = locked;
BasicSplitPaneDivider divider = ((BasicSplitPaneUI) impl.getUI()).getDivider();
if (locked) {
divider.setDividerSize(0);
} else {
divider.setDividerSize(10);
}
impl.revalidate();
impl.repaint();
}
JSplitPane summaryTab() {
mainFrame.setSummaryTopPanel(new JPanel());
mainFrame.getSummaryTopPanel().setLayout(new GridLayout(0, 1));
mainFrame.getSummaryTopPanel().setBorder(BorderFactory.createEmptyBorder(2, 4, 2, 4));
// mainFrame.getSummaryTopPanel().setMinimumSize(new Dimension(fontSize * 50, fontSize * 5));
JPanel summaryTopOuter = new JPanel(new BorderLayout());
summaryTopOuter.add(mainFrame.getSummaryTopPanel(), BorderLayout.NORTH);
mainFrame.getSummaryHtmlArea().setContentType("text/html");
mainFrame.getSummaryHtmlArea().setEditable(false);
mainFrame.getSummaryHtmlArea().addHyperlinkListener(evt -> AboutDialog.editorPaneHyperlinkUpdate(evt));
setStyleSheets();
// JPanel temp = new JPanel(new BorderLayout());
// temp.add(summaryTopPanel, BorderLayout.CENTER);
JScrollPane summaryScrollPane = new JScrollPane(summaryTopOuter);
summaryScrollPane.getVerticalScrollBar().setUnitIncrement((int) Driver.getFontSize());
JSplitPane splitP = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, false, summaryScrollPane,
mainFrame.getSummaryHtmlScrollPane());
splitP.setContinuousLayout(true);
splitP.setDividerLocation(GUISaveState.getInstance().getSplitSummary());
splitP.setOneTouchExpandable(true);
splitP.setUI(new BasicSplitPaneUI() {
@Override
public BasicSplitPaneDivider createDefaultDivider() {
return new BasicSplitPaneDivider(this) {
@Override
public void setBorder(Border b) {
}
};
}
});
splitP.setBorder(null);
return splitP;
}
private void removeSplitPaneBorders(JSplitPane pane) {
pane.setUI(new BasicSplitPaneUI() {
@Override
public BasicSplitPaneDivider createDefaultDivider() {
return new BasicSplitPaneDivider(this) {
@Override
public void setBorder(Border b) {
}
};
}
});
pane.setBorder(new EmptyBorder(3, 3, 3, 3));
}
public Insets getBorderInsets(Component c)
{
Insets insets = new Insets(0, 0, 0, 0);
if (c instanceof BasicSplitPaneDivider)
{
BasicSplitPaneUI bspui = ((BasicSplitPaneDivider) c)
.getBasicSplitPaneUI();
if (bspui != null)
{
JSplitPane splitPane = bspui.getSplitPane();
if (splitPane != null)
{
if (splitPane.getOrientation() == JSplitPane.HORIZONTAL_SPLIT)
{
insets.top = insets.bottom = 0;
insets.left = insets.right = 1;
return insets;
}
// VERTICAL_SPLIT
insets.top = insets.bottom = 1;
insets.left = insets.right = 0;
return insets;
}
}
}
insets.top = insets.bottom = insets.left = insets.right = 1;
return insets;
}