5 changed files with 250 additions and 19 deletions
@ -0,0 +1,145 @@ |
|||||||
|
package com.fr.design.mainframe.chart.gui; |
||||||
|
|
||||||
|
/** |
||||||
|
* Created by hufan on 2016/10/20. |
||||||
|
*/ |
||||||
|
|
||||||
|
import com.fr.design.beans.BasicBeanPane; |
||||||
|
import com.fr.design.gui.ibutton.UIButtonGroup; |
||||||
|
import com.fr.design.gui.ilable.UILabel; |
||||||
|
import com.fr.design.layout.TableLayout; |
||||||
|
import com.fr.design.layout.TableLayoutHelper; |
||||||
|
import com.fr.design.mainframe.chart.gui.style.ChartTextAttrPane; |
||||||
|
import com.fr.general.Inter; |
||||||
|
import com.fr.third.org.hsqldb.lib.Collection; |
||||||
|
|
||||||
|
import javax.swing.*; |
||||||
|
import javax.swing.event.ChangeEvent; |
||||||
|
import javax.swing.event.ChangeListener; |
||||||
|
import java.awt.*; |
||||||
|
import java.awt.event.ActionEvent; |
||||||
|
import java.awt.event.ActionListener; |
||||||
|
|
||||||
|
/** |
||||||
|
* 图表切换设置面板 |
||||||
|
*/ |
||||||
|
public class ChangeConfigPane extends BasicBeanPane<Collection> { |
||||||
|
private JPanel contentPane; |
||||||
|
//配置方式按钮
|
||||||
|
private UIButtonGroup<Integer> configStyleButton; |
||||||
|
//配置界面
|
||||||
|
private JPanel configPane; |
||||||
|
//按钮切换方式配置界面
|
||||||
|
private JPanel buttonConfigPane; |
||||||
|
private ChartTextAttrPane textAttrPane; |
||||||
|
private ColorSelectBoxWithOutTransparent colorSelectBox; |
||||||
|
//轮播切换方式配置接界面
|
||||||
|
private JPanel carouselConfigPane; |
||||||
|
|
||||||
|
public ChangeConfigPane(){ |
||||||
|
initButtonGroup(); |
||||||
|
contentPane = createContentPane(); |
||||||
|
configPane = createConfigPane(); |
||||||
|
this.add(contentPane, BorderLayout.CENTER); |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createContentPane() { |
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
double[] columnSize = {p, f}; |
||||||
|
double[] rowSize = {p,p,p}; |
||||||
|
Component[][] components = new Component[][]{ |
||||||
|
new Component[]{new UILabel(Inter.getLocText("Plugin-ChartF_Change_Style") + ":"),configStyleButton}, |
||||||
|
new Component[]{new JSeparator(), null}, |
||||||
|
new Component[]{configPane, null}, |
||||||
|
}; |
||||||
|
return TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createConfigPane() { |
||||||
|
|
||||||
|
buttonConfigPane = createButtonConfigPane(); |
||||||
|
carouselConfigPane = createCarouseConfigPane(); |
||||||
|
|
||||||
|
JPanel panel = new JPanel(new CardLayout()){ |
||||||
|
@Override |
||||||
|
public Dimension getPreferredSize() { |
||||||
|
if(configStyleButton.getSelectedIndex() == 0){ |
||||||
|
return new Dimension(buttonConfigPane.getWidth(), 0); |
||||||
|
} else{ |
||||||
|
return carouselConfigPane.getPreferredSize(); |
||||||
|
} |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
panel.add(buttonConfigPane, "button"); |
||||||
|
panel.add(carouselConfigPane, "carousel"); |
||||||
|
|
||||||
|
return panel; |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createCarouseConfigPane() { |
||||||
|
return new JPanel(); |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createTitleStylePane(){ |
||||||
|
textAttrPane = new ChartTextAttrPane(); |
||||||
|
return TableLayoutHelper.createTableLayoutPaneWithTitle(Inter.getLocText("FR-Designer-Widget_Style"), textAttrPane); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
private JPanel createBackgroundColorPane(){ |
||||||
|
colorSelectBox = new ColorSelectBoxWithOutTransparent(100); |
||||||
|
return TableLayoutHelper.createTableLayoutPaneWithTitle(Inter.getLocText("FR-Designer-Widget_Style"), textAttrPane); |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createButtonConfigPane() { |
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
double[] columnSize = {p, f}; |
||||||
|
double[] rowSize = {p,p,p}; |
||||||
|
Component[][] components = new Component[][]{ |
||||||
|
new Component[]{createTitleStylePane(),null}, |
||||||
|
new Component[]{new JSeparator(),null}, |
||||||
|
new Component[]{createBackgroundColorPane(),null}, |
||||||
|
}; |
||||||
|
|
||||||
|
return TableLayoutHelper.createTableLayoutPane(components,rowSize,columnSize); |
||||||
|
} |
||||||
|
|
||||||
|
private void initButtonGroup() { |
||||||
|
configStyleButton = new UIButtonGroup<Integer>(new String[]{Inter.getLocText("Plugin-ChartF_Button_Style"), |
||||||
|
Inter.getLocText("Plugin-ChartF_Carousel_Style")}); |
||||||
|
configStyleButton.setSelectedIndex(0); |
||||||
|
configStyleButton.addActionListener(new ActionListener() { |
||||||
|
@Override |
||||||
|
public void actionPerformed(ActionEvent e) { |
||||||
|
checkCardPane(); |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
private void checkCardPane() { |
||||||
|
CardLayout cardLayout = (CardLayout) configPane.getLayout(); |
||||||
|
if (configStyleButton.getSelectedIndex() == 0) { |
||||||
|
cardLayout.show(configPane, "button"); |
||||||
|
} else { |
||||||
|
cardLayout.show(configPane, "carousel"); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void populateBean(Collection ob) { |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public Collection updateBean() { |
||||||
|
return null; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String title4PopupWindow() { |
||||||
|
return null; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package com.fr.design.mainframe.chart.gui; |
||||||
|
|
||||||
|
import com.fr.design.style.color.ColorSelectBox; |
||||||
|
import com.fr.design.style.color.ColorSelectPane; |
||||||
|
|
||||||
|
/** |
||||||
|
* Created by Fangjie on 2016/4/8. |
||||||
|
* 没有透明度的颜色选择器 |
||||||
|
*/ |
||||||
|
public class ColorSelectBoxWithOutTransparent extends ColorSelectBox { |
||||||
|
public ColorSelectBoxWithOutTransparent(int preferredWidth){ |
||||||
|
super(preferredWidth); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
protected ColorSelectPane getColorSelectPane(){ |
||||||
|
return new ColorSelectPaneWithOutTransparent(); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,33 @@ |
|||||||
|
package com.fr.design.mainframe.chart.gui; |
||||||
|
|
||||||
|
import com.fr.chart.base.ChartConstants; |
||||||
|
import com.fr.design.style.color.ColorCell; |
||||||
|
import com.fr.design.style.color.ColorSelectPane; |
||||||
|
|
||||||
|
import javax.swing.*; |
||||||
|
import java.awt.*; |
||||||
|
|
||||||
|
/** |
||||||
|
* Created by Fangjie on 2016/4/8. |
||||||
|
*/ |
||||||
|
public class ColorSelectPaneWithOutTransparent extends ColorSelectPane { |
||||||
|
|
||||||
|
public ColorSelectPaneWithOutTransparent(){ |
||||||
|
super(false); |
||||||
|
} |
||||||
|
|
||||||
|
public void initCenterPaneChildren(JPanel centerPane) { |
||||||
|
JPanel menuColorPane1 = new JPanel(); |
||||||
|
centerPane.add(menuColorPane1); |
||||||
|
menuColorPane1.setLayout(new GridLayout(5, 8, 5, 5)); |
||||||
|
for (int i = 0; i < ChartConstants.MAP_COLOR_ARRAY.length; i++) { |
||||||
|
menuColorPane1.add(new ColorCell(ChartConstants.MAP_COLOR_ARRAY[i], this)); |
||||||
|
} |
||||||
|
centerPane.add(Box.createVerticalStrut(5)); |
||||||
|
centerPane.add(new JSeparator()); |
||||||
|
} |
||||||
|
|
||||||
|
protected Color[] getColorArray(){ |
||||||
|
return ChartConstants.MAP_COLOR_ARRAY; |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue