mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2025-12-06 22:10:54 +03:00
Demo: OptionPanePanel added
This commit is contained in:
@@ -39,6 +39,7 @@ class DemoFrame
|
|||||||
MoreComponentsPanel moreComponentsPanel = new MoreComponentsPanel();
|
MoreComponentsPanel moreComponentsPanel = new MoreComponentsPanel();
|
||||||
DataComponentsPanel dataComponentsPanel = new DataComponentsPanel();
|
DataComponentsPanel dataComponentsPanel = new DataComponentsPanel();
|
||||||
TabsPanel tabsPanel = new TabsPanel();
|
TabsPanel tabsPanel = new TabsPanel();
|
||||||
|
OptionPanePanel optionPanePanel = new OptionPanePanel();
|
||||||
controlBar = new ControlBar();
|
controlBar = new ControlBar();
|
||||||
|
|
||||||
//======== this ========
|
//======== this ========
|
||||||
@@ -63,6 +64,7 @@ class DemoFrame
|
|||||||
tabbedPane.addTab("More Components", moreComponentsPanel);
|
tabbedPane.addTab("More Components", moreComponentsPanel);
|
||||||
tabbedPane.addTab("Data Components", dataComponentsPanel);
|
tabbedPane.addTab("Data Components", dataComponentsPanel);
|
||||||
tabbedPane.addTab("Tabs", tabsPanel);
|
tabbedPane.addTab("Tabs", tabsPanel);
|
||||||
|
tabbedPane.addTab("Option Pane", optionPanePanel);
|
||||||
}
|
}
|
||||||
contentPanel.add(tabbedPane, "cell 0 0");
|
contentPanel.add(tabbedPane, "cell 0 0");
|
||||||
contentPanel.add(controlBar, "cell 0 1");
|
contentPanel.add(controlBar, "cell 0 1");
|
||||||
|
|||||||
@@ -43,6 +43,11 @@ new FormModel {
|
|||||||
}, new FormLayoutConstraints( null ) {
|
}, new FormLayoutConstraints( null ) {
|
||||||
"title": "Tabs"
|
"title": "Tabs"
|
||||||
} )
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.demo.OptionPanePanel" ) {
|
||||||
|
name: "optionPanePanel"
|
||||||
|
}, new FormLayoutConstraints( null ) {
|
||||||
|
"title": "Option Pane"
|
||||||
|
} )
|
||||||
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
"value": "cell 0 0"
|
"value": "cell 0 0"
|
||||||
} )
|
} )
|
||||||
|
|||||||
@@ -0,0 +1,350 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2019 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.demo;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
|
import java.awt.event.MouseAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
import javax.swing.*;
|
||||||
|
import javax.swing.border.*;
|
||||||
|
import net.miginfocom.swing.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
class OptionPanePanel
|
||||||
|
extends JScrollPane
|
||||||
|
{
|
||||||
|
OptionPanePanel() {
|
||||||
|
initComponents();
|
||||||
|
|
||||||
|
customOptionPane.setMessage( new Object[] {
|
||||||
|
"string",
|
||||||
|
"multi-\nline string",
|
||||||
|
new JCheckBox( "check box" ),
|
||||||
|
new JTextField( "text field" ),
|
||||||
|
"more text",
|
||||||
|
} );
|
||||||
|
customOptionPane.setOptions( new Object[] {
|
||||||
|
new JCheckBox( "check me" ),
|
||||||
|
"OK",
|
||||||
|
"Cancel",
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initComponents() {
|
||||||
|
// JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents
|
||||||
|
ScrollablePanel panel9 = new ScrollablePanel();
|
||||||
|
JLabel plainLabel = new JLabel();
|
||||||
|
JPanel panel1 = new JPanel();
|
||||||
|
JOptionPane plainOptionPane = new JOptionPane();
|
||||||
|
plainShowDialogLabel = new OptionPanePanel.ShowDialogLinkLabel();
|
||||||
|
JLabel errorLabel = new JLabel();
|
||||||
|
JPanel panel2 = new JPanel();
|
||||||
|
JOptionPane errorOptionPane = new JOptionPane();
|
||||||
|
errorShowDialogLabel = new OptionPanePanel.ShowDialogLinkLabel();
|
||||||
|
JLabel informationLabel = new JLabel();
|
||||||
|
JPanel panel3 = new JPanel();
|
||||||
|
JOptionPane informationOptionPane = new JOptionPane();
|
||||||
|
informationShowDialogLabel = new OptionPanePanel.ShowDialogLinkLabel();
|
||||||
|
JLabel questionLabel = new JLabel();
|
||||||
|
JPanel panel4 = new JPanel();
|
||||||
|
JOptionPane questionOptionPane = new JOptionPane();
|
||||||
|
OptionPanePanel.ShowDialogLinkLabel questionShowDialogLabel = new OptionPanePanel.ShowDialogLinkLabel();
|
||||||
|
JLabel warningLabel = new JLabel();
|
||||||
|
JPanel panel5 = new JPanel();
|
||||||
|
JOptionPane warningOptionPane = new JOptionPane();
|
||||||
|
OptionPanePanel.ShowDialogLinkLabel warningShowDialogLabel = new OptionPanePanel.ShowDialogLinkLabel();
|
||||||
|
JLabel inputLabel = new JLabel();
|
||||||
|
JPanel panel7 = new JPanel();
|
||||||
|
JOptionPane inputOptionPane = new JOptionPane();
|
||||||
|
OptionPanePanel.ShowDialogLinkLabel inputShowDialogLabel = new OptionPanePanel.ShowDialogLinkLabel();
|
||||||
|
JLabel inputIconLabel = new JLabel();
|
||||||
|
JPanel panel8 = new JPanel();
|
||||||
|
JOptionPane inputIconOptionPane = new JOptionPane();
|
||||||
|
OptionPanePanel.ShowDialogLinkLabel inputIconShowDialogLabel = new OptionPanePanel.ShowDialogLinkLabel();
|
||||||
|
JLabel customLabel = new JLabel();
|
||||||
|
JPanel panel6 = new JPanel();
|
||||||
|
customOptionPane = new JOptionPane();
|
||||||
|
OptionPanePanel.ShowDialogLinkLabel customShowDialogLabel = new OptionPanePanel.ShowDialogLinkLabel();
|
||||||
|
|
||||||
|
//======== this ========
|
||||||
|
setBorder(null);
|
||||||
|
|
||||||
|
//======== panel9 ========
|
||||||
|
{
|
||||||
|
panel9.setLayout(new MigLayout(
|
||||||
|
"flowy,ltr,hidemode 3",
|
||||||
|
// columns
|
||||||
|
"[]" +
|
||||||
|
"[]" +
|
||||||
|
"[fill]",
|
||||||
|
// rows
|
||||||
|
"[top]" +
|
||||||
|
"[top]" +
|
||||||
|
"[top]" +
|
||||||
|
"[top]" +
|
||||||
|
"[top]" +
|
||||||
|
"[top]" +
|
||||||
|
"[top]" +
|
||||||
|
"[top]"));
|
||||||
|
|
||||||
|
//---- plainLabel ----
|
||||||
|
plainLabel.setText("Plain");
|
||||||
|
panel9.add(plainLabel, "cell 0 0");
|
||||||
|
|
||||||
|
//======== panel1 ========
|
||||||
|
{
|
||||||
|
panel1.setBorder(LineBorder.createGrayLineBorder());
|
||||||
|
panel1.setLayout(new BorderLayout());
|
||||||
|
|
||||||
|
//---- plainOptionPane ----
|
||||||
|
plainOptionPane.setMessage("Hello world.");
|
||||||
|
panel1.add(plainOptionPane, BorderLayout.CENTER);
|
||||||
|
}
|
||||||
|
panel9.add(panel1, "cell 1 0");
|
||||||
|
|
||||||
|
//---- plainShowDialogLabel ----
|
||||||
|
plainShowDialogLabel.setOptionPane(plainOptionPane);
|
||||||
|
plainShowDialogLabel.setTitleLabel(plainLabel);
|
||||||
|
panel9.add(plainShowDialogLabel, "cell 2 0");
|
||||||
|
|
||||||
|
//---- errorLabel ----
|
||||||
|
errorLabel.setText("Error");
|
||||||
|
panel9.add(errorLabel, "cell 0 1");
|
||||||
|
|
||||||
|
//======== panel2 ========
|
||||||
|
{
|
||||||
|
panel2.setBorder(LineBorder.createGrayLineBorder());
|
||||||
|
panel2.setLayout(new BorderLayout());
|
||||||
|
|
||||||
|
//---- errorOptionPane ----
|
||||||
|
errorOptionPane.setMessageType(JOptionPane.ERROR_MESSAGE);
|
||||||
|
errorOptionPane.setOptionType(JOptionPane.OK_CANCEL_OPTION);
|
||||||
|
errorOptionPane.setMessage("Your PC ran into a problem. Buy a new one.");
|
||||||
|
panel2.add(errorOptionPane, BorderLayout.CENTER);
|
||||||
|
}
|
||||||
|
panel9.add(panel2, "cell 1 1");
|
||||||
|
|
||||||
|
//---- errorShowDialogLabel ----
|
||||||
|
errorShowDialogLabel.setTitleLabel(errorLabel);
|
||||||
|
errorShowDialogLabel.setOptionPane(errorOptionPane);
|
||||||
|
panel9.add(errorShowDialogLabel, "cell 2 1");
|
||||||
|
|
||||||
|
//---- informationLabel ----
|
||||||
|
informationLabel.setText("Information");
|
||||||
|
panel9.add(informationLabel, "cell 0 2");
|
||||||
|
|
||||||
|
//======== panel3 ========
|
||||||
|
{
|
||||||
|
panel3.setBorder(LineBorder.createGrayLineBorder());
|
||||||
|
panel3.setLayout(new BorderLayout());
|
||||||
|
|
||||||
|
//---- informationOptionPane ----
|
||||||
|
informationOptionPane.setMessageType(JOptionPane.INFORMATION_MESSAGE);
|
||||||
|
informationOptionPane.setOptionType(JOptionPane.YES_NO_OPTION);
|
||||||
|
informationOptionPane.setMessage("Text with\nmultiple lines\n(use \\n to separate lines)");
|
||||||
|
panel3.add(informationOptionPane, BorderLayout.CENTER);
|
||||||
|
}
|
||||||
|
panel9.add(panel3, "cell 1 2");
|
||||||
|
|
||||||
|
//---- informationShowDialogLabel ----
|
||||||
|
informationShowDialogLabel.setOptionPane(informationOptionPane);
|
||||||
|
informationShowDialogLabel.setTitleLabel(informationLabel);
|
||||||
|
panel9.add(informationShowDialogLabel, "cell 2 2");
|
||||||
|
|
||||||
|
//---- questionLabel ----
|
||||||
|
questionLabel.setText("Question");
|
||||||
|
panel9.add(questionLabel, "cell 0 3");
|
||||||
|
|
||||||
|
//======== panel4 ========
|
||||||
|
{
|
||||||
|
panel4.setBorder(LineBorder.createGrayLineBorder());
|
||||||
|
panel4.setLayout(new BorderLayout());
|
||||||
|
|
||||||
|
//---- questionOptionPane ----
|
||||||
|
questionOptionPane.setMessageType(JOptionPane.QUESTION_MESSAGE);
|
||||||
|
questionOptionPane.setOptionType(JOptionPane.YES_NO_CANCEL_OPTION);
|
||||||
|
questionOptionPane.setMessage("Answer the question. What question? Don't know. Just writing useless text to make this longer than 80 characters.");
|
||||||
|
panel4.add(questionOptionPane, BorderLayout.CENTER);
|
||||||
|
}
|
||||||
|
panel9.add(panel4, "cell 1 3");
|
||||||
|
|
||||||
|
//---- questionShowDialogLabel ----
|
||||||
|
questionShowDialogLabel.setOptionPane(questionOptionPane);
|
||||||
|
questionShowDialogLabel.setTitleLabel(questionLabel);
|
||||||
|
panel9.add(questionShowDialogLabel, "cell 2 3");
|
||||||
|
|
||||||
|
//---- warningLabel ----
|
||||||
|
warningLabel.setText("Warning");
|
||||||
|
panel9.add(warningLabel, "cell 0 4");
|
||||||
|
|
||||||
|
//======== panel5 ========
|
||||||
|
{
|
||||||
|
panel5.setBorder(LineBorder.createGrayLineBorder());
|
||||||
|
panel5.setLayout(new BorderLayout());
|
||||||
|
|
||||||
|
//---- warningOptionPane ----
|
||||||
|
warningOptionPane.setMessageType(JOptionPane.WARNING_MESSAGE);
|
||||||
|
warningOptionPane.setOptionType(JOptionPane.OK_CANCEL_OPTION);
|
||||||
|
warningOptionPane.setMessage("Beware of the dog!");
|
||||||
|
panel5.add(warningOptionPane, BorderLayout.CENTER);
|
||||||
|
}
|
||||||
|
panel9.add(panel5, "cell 1 4");
|
||||||
|
|
||||||
|
//---- warningShowDialogLabel ----
|
||||||
|
warningShowDialogLabel.setOptionPane(warningOptionPane);
|
||||||
|
warningShowDialogLabel.setTitleLabel(warningLabel);
|
||||||
|
panel9.add(warningShowDialogLabel, "cell 2 4");
|
||||||
|
|
||||||
|
//---- inputLabel ----
|
||||||
|
inputLabel.setText("Input");
|
||||||
|
panel9.add(inputLabel, "cell 0 5");
|
||||||
|
|
||||||
|
//======== panel7 ========
|
||||||
|
{
|
||||||
|
panel7.setBorder(LineBorder.createGrayLineBorder());
|
||||||
|
panel7.setLayout(new BorderLayout());
|
||||||
|
|
||||||
|
//---- inputOptionPane ----
|
||||||
|
inputOptionPane.setWantsInput(true);
|
||||||
|
inputOptionPane.setOptionType(JOptionPane.OK_CANCEL_OPTION);
|
||||||
|
inputOptionPane.setMessage("Enter whatever you want:");
|
||||||
|
panel7.add(inputOptionPane, BorderLayout.CENTER);
|
||||||
|
}
|
||||||
|
panel9.add(panel7, "cell 1 5");
|
||||||
|
|
||||||
|
//---- inputShowDialogLabel ----
|
||||||
|
inputShowDialogLabel.setOptionPane(inputOptionPane);
|
||||||
|
inputShowDialogLabel.setTitleLabel(inputLabel);
|
||||||
|
panel9.add(inputShowDialogLabel, "cell 2 5");
|
||||||
|
|
||||||
|
//---- inputIconLabel ----
|
||||||
|
inputIconLabel.setText("Input + icon");
|
||||||
|
panel9.add(inputIconLabel, "cell 0 6");
|
||||||
|
|
||||||
|
//======== panel8 ========
|
||||||
|
{
|
||||||
|
panel8.setBorder(LineBorder.createGrayLineBorder());
|
||||||
|
panel8.setLayout(new BorderLayout());
|
||||||
|
|
||||||
|
//---- inputIconOptionPane ----
|
||||||
|
inputIconOptionPane.setMessageType(JOptionPane.INFORMATION_MESSAGE);
|
||||||
|
inputIconOptionPane.setWantsInput(true);
|
||||||
|
inputIconOptionPane.setOptionType(JOptionPane.OK_CANCEL_OPTION);
|
||||||
|
inputIconOptionPane.setMessage("Enter something:");
|
||||||
|
panel8.add(inputIconOptionPane, BorderLayout.CENTER);
|
||||||
|
}
|
||||||
|
panel9.add(panel8, "cell 1 6");
|
||||||
|
|
||||||
|
//---- inputIconShowDialogLabel ----
|
||||||
|
inputIconShowDialogLabel.setTitleLabel(inputIconLabel);
|
||||||
|
inputIconShowDialogLabel.setOptionPane(inputIconOptionPane);
|
||||||
|
panel9.add(inputIconShowDialogLabel, "cell 2 6");
|
||||||
|
|
||||||
|
//---- customLabel ----
|
||||||
|
customLabel.setText("Custom");
|
||||||
|
panel9.add(customLabel, "cell 0 7");
|
||||||
|
|
||||||
|
//======== panel6 ========
|
||||||
|
{
|
||||||
|
panel6.setBorder(LineBorder.createGrayLineBorder());
|
||||||
|
panel6.setLayout(new BorderLayout());
|
||||||
|
|
||||||
|
//---- customOptionPane ----
|
||||||
|
customOptionPane.setIcon(UIManager.getIcon("Tree.leafIcon"));
|
||||||
|
panel6.add(customOptionPane, BorderLayout.CENTER);
|
||||||
|
}
|
||||||
|
panel9.add(panel6, "cell 1 7");
|
||||||
|
|
||||||
|
//---- customShowDialogLabel ----
|
||||||
|
customShowDialogLabel.setOptionPane(customOptionPane);
|
||||||
|
customShowDialogLabel.setTitleLabel(customLabel);
|
||||||
|
panel9.add(customShowDialogLabel, "cell 2 7");
|
||||||
|
}
|
||||||
|
setViewportView(panel9);
|
||||||
|
// JFormDesigner - End of component initialization //GEN-END:initComponents
|
||||||
|
}
|
||||||
|
|
||||||
|
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
|
||||||
|
private OptionPanePanel.ShowDialogLinkLabel plainShowDialogLabel;
|
||||||
|
private OptionPanePanel.ShowDialogLinkLabel errorShowDialogLabel;
|
||||||
|
private OptionPanePanel.ShowDialogLinkLabel informationShowDialogLabel;
|
||||||
|
private JOptionPane customOptionPane;
|
||||||
|
// JFormDesigner - End of variables declaration //GEN-END:variables
|
||||||
|
|
||||||
|
//---- class ShowDialogLinkLabel ------------------------------------------
|
||||||
|
|
||||||
|
private static class ShowDialogLinkLabel
|
||||||
|
extends JLabel
|
||||||
|
{
|
||||||
|
private JLabel titleLabel;
|
||||||
|
private JOptionPane optionPane;
|
||||||
|
|
||||||
|
ShowDialogLinkLabel() {
|
||||||
|
setText( "<html><a href=\"#\">Show dialog</a></html>" );
|
||||||
|
|
||||||
|
addMouseListener( new MouseAdapter() {
|
||||||
|
@Override
|
||||||
|
public void mouseClicked( MouseEvent e ) {
|
||||||
|
showDialog();
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
|
||||||
|
private void showDialog() {
|
||||||
|
if( optionPane.getWantsInput() ) {
|
||||||
|
JOptionPane.showInputDialog(
|
||||||
|
getParent(),
|
||||||
|
optionPane.getMessage(),
|
||||||
|
titleLabel.getText() + " Title",
|
||||||
|
optionPane.getMessageType(),
|
||||||
|
optionPane.getIcon(),
|
||||||
|
null,
|
||||||
|
null );
|
||||||
|
} else {
|
||||||
|
JOptionPane.showOptionDialog(
|
||||||
|
getParent(),
|
||||||
|
optionPane.getMessage(),
|
||||||
|
titleLabel.getText() + " Title",
|
||||||
|
optionPane.getOptionType(),
|
||||||
|
optionPane.getMessageType(),
|
||||||
|
optionPane.getIcon(),
|
||||||
|
optionPane.getOptions(),
|
||||||
|
optionPane.getInitialValue() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings( "unused" )
|
||||||
|
public JLabel getTitleLabel() {
|
||||||
|
return titleLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTitleLabel( JLabel titleLabel ) {
|
||||||
|
this.titleLabel = titleLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings( "unused" )
|
||||||
|
public JOptionPane getOptionPane() {
|
||||||
|
return optionPane;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOptionPane( JOptionPane optionPane ) {
|
||||||
|
this.optionPane = optionPane;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,249 @@
|
|||||||
|
JFDML JFormDesigner: "7.0.0.0.194" Java: "11.0.2" encoding: "UTF-8"
|
||||||
|
|
||||||
|
new FormModel {
|
||||||
|
contentType: "form/swing"
|
||||||
|
root: new FormRoot {
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.defaultVariableLocal": true
|
||||||
|
}
|
||||||
|
add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) {
|
||||||
|
name: "this"
|
||||||
|
"border": sfield com.jformdesigner.model.FormObject NULL_VALUE
|
||||||
|
add( new FormContainer( "com.formdev.flatlaf.demo.ScrollablePanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) {
|
||||||
|
"$layoutConstraints": "flowy,ltr,hidemode 3"
|
||||||
|
"$columnConstraints": "[][][fill]"
|
||||||
|
"$rowConstraints": "[top][top][top][top][top][top][top][top]"
|
||||||
|
} ) {
|
||||||
|
name: "panel9"
|
||||||
|
add( new FormComponent( "javax.swing.JLabel" ) {
|
||||||
|
name: "plainLabel"
|
||||||
|
"text": "Plain"
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 0 0"
|
||||||
|
} )
|
||||||
|
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
|
||||||
|
name: "panel1"
|
||||||
|
"border": &LineBorder0 new javax.swing.border.LineBorder( sfield java.awt.Color gray, 1, false )
|
||||||
|
add( new FormComponent( "javax.swing.JOptionPane" ) {
|
||||||
|
name: "plainOptionPane"
|
||||||
|
"message": "Hello world."
|
||||||
|
}, new FormLayoutConstraints( class java.lang.String ) {
|
||||||
|
"value": "Center"
|
||||||
|
} )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 1 0"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.demo.OptionPanePanel$ShowDialogLinkLabel" ) {
|
||||||
|
name: "plainShowDialogLabel"
|
||||||
|
"optionPane": new FormReference( "plainOptionPane" )
|
||||||
|
"titleLabel": new FormReference( "plainLabel" )
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 2 0"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JLabel" ) {
|
||||||
|
name: "errorLabel"
|
||||||
|
"text": "Error"
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 0 1"
|
||||||
|
} )
|
||||||
|
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
|
||||||
|
name: "panel2"
|
||||||
|
"border": #LineBorder0
|
||||||
|
add( new FormComponent( "javax.swing.JOptionPane" ) {
|
||||||
|
name: "errorOptionPane"
|
||||||
|
"messageType": 0
|
||||||
|
"optionType": 2
|
||||||
|
"message": "Your PC ran into a problem. Buy a new one."
|
||||||
|
}, new FormLayoutConstraints( class java.lang.String ) {
|
||||||
|
"value": "Center"
|
||||||
|
} )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 1 1"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.demo.OptionPanePanel$ShowDialogLinkLabel" ) {
|
||||||
|
name: "errorShowDialogLabel"
|
||||||
|
"titleLabel": new FormReference( "errorLabel" )
|
||||||
|
"optionPane": new FormReference( "errorOptionPane" )
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 2 1"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JLabel" ) {
|
||||||
|
name: "informationLabel"
|
||||||
|
"text": "Information"
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 0 2"
|
||||||
|
} )
|
||||||
|
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
|
||||||
|
name: "panel3"
|
||||||
|
"border": #LineBorder0
|
||||||
|
add( new FormComponent( "javax.swing.JOptionPane" ) {
|
||||||
|
name: "informationOptionPane"
|
||||||
|
"messageType": 1
|
||||||
|
"optionType": 0
|
||||||
|
"message": "Text with\nmultiple lines\n(use \\n to separate lines)"
|
||||||
|
}, new FormLayoutConstraints( class java.lang.String ) {
|
||||||
|
"value": "Center"
|
||||||
|
} )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 1 2"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.demo.OptionPanePanel$ShowDialogLinkLabel" ) {
|
||||||
|
name: "informationShowDialogLabel"
|
||||||
|
"optionPane": new FormReference( "informationOptionPane" )
|
||||||
|
"titleLabel": new FormReference( "informationLabel" )
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 2 2"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JLabel" ) {
|
||||||
|
name: "questionLabel"
|
||||||
|
"text": "Question"
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 0 3"
|
||||||
|
} )
|
||||||
|
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
|
||||||
|
name: "panel4"
|
||||||
|
"border": #LineBorder0
|
||||||
|
add( new FormComponent( "javax.swing.JOptionPane" ) {
|
||||||
|
name: "questionOptionPane"
|
||||||
|
"messageType": 3
|
||||||
|
"optionType": 1
|
||||||
|
"message": "Answer the question. What question? Don't know. Just writing useless text to make this longer than 80 characters."
|
||||||
|
}, new FormLayoutConstraints( class java.lang.String ) {
|
||||||
|
"value": "Center"
|
||||||
|
} )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 1 3"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.demo.OptionPanePanel$ShowDialogLinkLabel" ) {
|
||||||
|
name: "questionShowDialogLabel"
|
||||||
|
"optionPane": new FormReference( "questionOptionPane" )
|
||||||
|
"titleLabel": new FormReference( "questionLabel" )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 2 3"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JLabel" ) {
|
||||||
|
name: "warningLabel"
|
||||||
|
"text": "Warning"
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 0 4"
|
||||||
|
} )
|
||||||
|
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
|
||||||
|
name: "panel5"
|
||||||
|
"border": #LineBorder0
|
||||||
|
add( new FormComponent( "javax.swing.JOptionPane" ) {
|
||||||
|
name: "warningOptionPane"
|
||||||
|
"messageType": 2
|
||||||
|
"optionType": 2
|
||||||
|
"message": "Beware of the dog!"
|
||||||
|
}, new FormLayoutConstraints( class java.lang.String ) {
|
||||||
|
"value": "Center"
|
||||||
|
} )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 1 4"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.demo.OptionPanePanel$ShowDialogLinkLabel" ) {
|
||||||
|
name: "warningShowDialogLabel"
|
||||||
|
"optionPane": new FormReference( "warningOptionPane" )
|
||||||
|
"titleLabel": new FormReference( "warningLabel" )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 2 4"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JLabel" ) {
|
||||||
|
name: "inputLabel"
|
||||||
|
"text": "Input"
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 0 5"
|
||||||
|
} )
|
||||||
|
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
|
||||||
|
name: "panel7"
|
||||||
|
"border": #LineBorder0
|
||||||
|
add( new FormComponent( "javax.swing.JOptionPane" ) {
|
||||||
|
name: "inputOptionPane"
|
||||||
|
"wantsInput": true
|
||||||
|
"optionType": 2
|
||||||
|
"message": "Enter whatever you want:"
|
||||||
|
}, new FormLayoutConstraints( class java.lang.String ) {
|
||||||
|
"value": "Center"
|
||||||
|
} )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 1 5"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.demo.OptionPanePanel$ShowDialogLinkLabel" ) {
|
||||||
|
name: "inputShowDialogLabel"
|
||||||
|
"optionPane": new FormReference( "inputOptionPane" )
|
||||||
|
"titleLabel": new FormReference( "inputLabel" )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 2 5"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JLabel" ) {
|
||||||
|
name: "inputIconLabel"
|
||||||
|
"text": "Input + icon"
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 0 6"
|
||||||
|
} )
|
||||||
|
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
|
||||||
|
name: "panel8"
|
||||||
|
"border": #LineBorder0
|
||||||
|
add( new FormComponent( "javax.swing.JOptionPane" ) {
|
||||||
|
name: "inputIconOptionPane"
|
||||||
|
"messageType": 1
|
||||||
|
"wantsInput": true
|
||||||
|
"optionType": 2
|
||||||
|
"message": "Enter something:"
|
||||||
|
}, new FormLayoutConstraints( class java.lang.String ) {
|
||||||
|
"value": "Center"
|
||||||
|
} )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 1 6"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.demo.OptionPanePanel$ShowDialogLinkLabel" ) {
|
||||||
|
name: "inputIconShowDialogLabel"
|
||||||
|
"titleLabel": new FormReference( "inputIconLabel" )
|
||||||
|
"optionPane": new FormReference( "inputIconOptionPane" )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 2 6"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JLabel" ) {
|
||||||
|
name: "customLabel"
|
||||||
|
"text": "Custom"
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 0 7"
|
||||||
|
} )
|
||||||
|
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
|
||||||
|
name: "panel6"
|
||||||
|
"border": #LineBorder0
|
||||||
|
add( new FormComponent( "javax.swing.JOptionPane" ) {
|
||||||
|
name: "customOptionPane"
|
||||||
|
"icon": new com.jformdesigner.model.SwingIcon( 2, "Tree.leafIcon" )
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
}, new FormLayoutConstraints( class java.lang.String ) {
|
||||||
|
"value": "Center"
|
||||||
|
} )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 1 7"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.demo.OptionPanePanel$ShowDialogLinkLabel" ) {
|
||||||
|
name: "customShowDialogLabel"
|
||||||
|
"optionPane": new FormReference( "customOptionPane" )
|
||||||
|
"titleLabel": new FormReference( "customLabel" )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 2 7"
|
||||||
|
} )
|
||||||
|
} )
|
||||||
|
}, new FormLayoutConstraints( null ) {
|
||||||
|
"location": new java.awt.Point( 0, 0 )
|
||||||
|
"size": new java.awt.Dimension( 790, 840 )
|
||||||
|
} )
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2019 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.demo;
|
||||||
|
|
||||||
|
import java.awt.Dimension;
|
||||||
|
import java.awt.Rectangle;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.Scrollable;
|
||||||
|
import javax.swing.SwingConstants;
|
||||||
|
import com.formdev.flatlaf.util.UIScale;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A panel that implements the {@link Scrollable} interface.
|
||||||
|
*
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class ScrollablePanel
|
||||||
|
extends JPanel
|
||||||
|
implements Scrollable
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public Dimension getPreferredScrollableViewportSize() {
|
||||||
|
return UIScale.scale( new Dimension( 400, 400 ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getScrollableUnitIncrement( Rectangle visibleRect, int orientation, int direction ) {
|
||||||
|
return UIScale.scale( 50 );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getScrollableBlockIncrement( Rectangle visibleRect, int orientation, int direction ) {
|
||||||
|
return (orientation == SwingConstants.VERTICAL) ? visibleRect.height : visibleRect.width;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean getScrollableTracksViewportWidth() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean getScrollableTracksViewportHeight() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user