📄 statspanel.java
字号:
optpanel.repaint();
varsList.setEnabled(true);
break;
case 1:
sampleDescr.setText(SAMPLING_RANDOM_DESCRITPION);
optpanel.remove(options);
south.setVisible(true);
options = getRandomPanelOption();
optpanel.add(options,BorderLayout.CENTER);
optpanel.revalidate();
optpanel.repaint();
varsList.setEnabled(false);
break;
case 2:
sampleDescr.setText(SAMPLING_INTERVAL_DESCRITPION);
optpanel.remove(options);
south.setVisible(true);
options = getIntervalPanelOption();
optpanel.add(options,BorderLayout.CENTER);
optpanel.revalidate();
optpanel.repaint();
varsList.setEnabled(false);
break;
case 3:
sampleDescr.setText(SAMPLING_FILTERING_DESCRITPION);
optpanel.remove(options);
south.setVisible(true);
options = getFilteringPanelOption();
optpanel.add(options,BorderLayout.CENTER);
optpanel.revalidate();
optpanel.repaint();
varsList.setEnabled(true);
break;
default:
samplingList.setSelectedIndex(0);
/* sampleDescr.setText("");
optpanel.remove(options);
south.setVisible(false);
options = new JPanel();
optpanel.add(options,BorderLayout.CENTER);
optpanel.revalidate();
optpanel.repaint();*/
}
}
}
});
}
return samplingList;
}
/**
* Sets up sampling panel
*/
private void createSampling() {
Box mainbox = Box.createVerticalBox();
mainbox.add(Box.createVerticalStrut(20));
Box paneldesclabel = Box.createHorizontalBox();
Box centralpanel = Box.createHorizontalBox();
Box warningpanl = Box.createHorizontalBox();
mainbox.add(paneldesclabel);
mainbox.add(Box.createVerticalStrut(15));
mainbox.add(centralpanel);
mainbox.add(Box.createVerticalStrut(15));
mainbox.add(warningpanl);
mainbox.add(Box.createVerticalStrut(15));
/** Listener on trasformation per change label **/
model.addOnChangeVariableValue(new ChangeVariableListener(){
public void onChangeVariableValues() {
if(varsList.getSelectedIndex() >= 0){
switch(model.getMatrix().getVariables()[varsList.getSelectedIndex()].getType()){
case STRING:
varLabel.setText(HTML_START + HTML_FONT_NORM +
"This is a String variable and it has been transformed has " + model.getMatrix().getVariables()[varsList.getSelectedIndex()].getTrasfStr()
+ HTML_FONT_NOR_END + HTML_END);
varInfo.setBorder(new TitledBorder(new TitledBorder(
new EtchedBorder(EtchedBorder.LOWERED),model.getMatrix().getVariableNames()[varsList.getSelectedIndex()] +" information")));
break;
case NUMERIC:
varLabel.setText(HTML_START + HTML_FONT_NORM +
"This is a Numeric variable and it has been transformed has " + model.getMatrix().getVariables()[varsList.getSelectedIndex()].getTrasfStr()
+ HTML_FONT_NOR_END + HTML_END);
varInfo.setBorder(new TitledBorder(new TitledBorder(
new EtchedBorder(EtchedBorder.LOWERED),model.getMatrix().getVariableNames()[varsList.getSelectedIndex()] +" information")));
break;
case DATE:
varLabel.setText(HTML_START + HTML_FONT_NORM +
"This is a Date variable and it has been transformed has " + model.getMatrix().getVariables()[varsList.getSelectedIndex()].getTrasfStr()
+ HTML_FONT_NOR_END + HTML_END);
varInfo.setBorder(new TitledBorder(new TitledBorder(
new EtchedBorder(EtchedBorder.LOWERED), model.getMatrix().getVariableNames()[varsList.getSelectedIndex()] +" information")));
break;
default:
}
}else{
varLabel.setText(HTML_START + HTML_FONT_NORM +
"No variable selected"
+ HTML_FONT_NOR_END + HTML_END);
varInfo.setBorder(new TitledBorder(new TitledBorder(
new EtchedBorder(EtchedBorder.LOWERED), "No variable selected")));
}
}
});
/** DESCRIPTION LABEL OF PANEL **/
JPanel jpdesclabel = new JPanel(new GridLayout(1,1));
jpdesclabel.add(new JLabel(SAMPLING_DESCRITPION));
paneldesclabel.add(jpdesclabel);
/** CENTRAL PANEL **/
JPanel jcentralp = new JPanel(new BorderLayout(10,0));
optionSampling = new JPanel(new BorderLayout());
/** VARIABLE INFORMATION PANEL **/
varInfo.setBorder(new TitledBorder(new TitledBorder(
new EtchedBorder(EtchedBorder.LOWERED), "No variable selected")));
varInfo.add(varLabel);
varLabel.setText(HTML_START + HTML_FONT_NORM +
"No variable selected"
+ HTML_FONT_NOR_END + HTML_END);
varInfo.setBorder(new TitledBorder(new TitledBorder(
new EtchedBorder(EtchedBorder.LOWERED), "No variable selected")));
/** SAMPLING OPTION PANEL **/
optpanel.setBorder(new TitledBorder(new TitledBorder(
new EtchedBorder(EtchedBorder.LOWERED), "Sampling options")));
sampleDescr = new JLabel();
optpanel.add(sampleDescr,BorderLayout.EAST);
optpanel.add(options,BorderLayout.CENTER);
south = new JPanel(new FlowLayout());
executeSam.setPreferredSize(new Dimension((int)(BUTTONSIZE*3.5),(int)(BUTTONSIZE*0.8)));
undoSam.setPreferredSize(new Dimension((int)(BUTTONSIZE*3.5),(int)(BUTTONSIZE*0.8)));
south.add(executeSam);
south.add(undoSam);
executeSam.setEnabled(false);
undoSam.setEnabled(false);
south.setVisible(false);
optpanel.add(south,BorderLayout.SOUTH);
optionSampling.add(varInfo,BorderLayout.NORTH);
optionSampling.add(optpanel,BorderLayout.CENTER);
/** LISTS **/
JPanel jlistpanel = new JPanel(new GridLayout(1,2,10,5));
JPanel varpanel = new JPanel(new BorderLayout());
JPanel samppanel = new JPanel(new BorderLayout());
varpanel.add(new JLabel(HTML_START + HTML_FONT_TITLE + "Variables" + HTML_FONT_TIT_END + HTML_END),BorderLayout.NORTH);
varpanel.add(new JScrollPane(getVariableList(),JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED),BorderLayout.CENTER);
samppanel.add(new JLabel(HTML_START + HTML_FONT_TITLE+ "Sampling methods" + HTML_FONT_TIT_END + HTML_END),BorderLayout.NORTH);
samppanel.add(new JScrollPane(getSamplingList(),JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED),BorderLayout.CENTER);
//jlistpanel.add(varpanel);
jlistpanel.add(samppanel);
jlistpanel.add(varpanel);
jcentralp.add(jlistpanel,BorderLayout.WEST);
jcentralp.add(optionSampling,BorderLayout.CENTER);
centralpanel.add(Box.createHorizontalStrut(10));
centralpanel.add(jcentralp);
centralpanel.add(Box.createHorizontalStrut(10));
/** WARNING LABEL **/
JPanel jpwarning = new JPanel(new GridLayout(1,1));
jpwarning.add(new JLabel(SAMPLING_TRIMMING_PANEL_DESC));
warningpanl.add(jpwarning);
samplePanel.add(mainbox);
mainbox.add(Box.createVerticalStrut(20));
}
/**
* Sets up dispersion matrix panel
*/
private void createMatrix() {
Box mainBox = Box.createVerticalBox();
Box descBox = Box.createHorizontalBox();
Box tableBox = Box.createHorizontalBox();
scatterMatrixPanel.add(mainBox);
mainBox.add(Box.createVerticalStrut(10));
mainBox.add(descBox);
mainBox.add(Box.createVerticalStrut(10));
mainBox.add(tableBox);
mainBox.add(Box.createVerticalStrut(10));
descBox.add(new JLabel(MATRIX_DESCRIPTION));
dispPanel = new DispMatrix();
tableBox.add(dispPanel);
}
/** ************ Univariate panel ************************* */
private JWatUnivariateStatsTable variableTable = null;
private JWatUnivariateStatsTableModel variableModel = null;
private JScrollPane scrollTablePane = null;
private JComboBox transfs;
private JPanel transfPanel;
private JPanel mainTransf;
private JPanel blankPanel;
private JLabel transfList;
private QQPlotPreviewPanel graph1 = null;
/**
* Create univariate panel
*
* @return
*/
private JPanel transfGraphCreate() {
JPanel totalPanel = new JPanel(new GridLayout(1, 2));
mainTransf = new JPanel(new GridLayout(1,1));
transfPanel = new JPanel(new BorderLayout());
help.addHelp(transfPanel,TRANSF_PANEL);
JPanel graphPanel = new JPanel(new GridLayout(1, 1));
/** ************** Transformation Panel ********************* */
transfPanel.setBorder(new TitledBorder(new EtchedBorder(
EtchedBorder.LOWERED), TRANSF_BORDER_TEXT + "none"));
createComboTransf();
JPanel northPanel = new JPanel(new GridLayout(2, 2, 5, 50));
JLabel tr = new JLabel("Transformations:");
tr.setHorizontalAlignment(JLabel.RIGHT);
northPanel.add(tr);
northPanel.add(transfs);
transfPanel.add(northPanel, BorderLayout.NORTH);
// JPanel centerTransf = new JPanel(new GridLayout(1,2,5,0));
northPanel.add(new JButton(applyTranformation));
northPanel.add(new JButton(undoTranformation));
transfList = new JLabel(TRANSF_LABEL_APPLIED + "none = none ");
transfPanel.add(transfList, BorderLayout.CENTER);
/** ******************* Graph Panel ************************** */
// TODO: aggiungere i grafici corretti che si zoommano e allargano
graphPanel.setBorder(new TitledBorder(new EtchedBorder(
EtchedBorder.LOWERED), "Graphs"));
JTabbedPane graphsTabbed = new JTabbedPane();
JPanel graph = new JPanel();
plo = new SmallPlotDistGraph(model);
plo.setSize(new Dimension(330, 120));
graph.add(plo);
graphsTabbed.addTab("Frequencies", graph);
graph1 = new QQPlotPreviewPanel(model);
graph1.setSize(new Dimension(330, 120));
graphsTabbed.addTab("QQ-Plot", graph1);
graphPanel.add(graphsTabbed);
//Blank panel
blankPanel = new JPanel(new BorderLayout());
blankPanel.add(new JLabel(HTML_START + HTML_FONT_NORM + " This variable could not be transformed since it is not numeric ." + HTML_FONT_NOR_END + HTML_END));
blankPanel.setBorder(new TitledBorder(new EtchedBorder(
EtchedBorder.LOWERED), ""));
// Add to main panel transformation and graph
mainTransf.add(transfPanel);
totalPanel.add(mainTransf);
totalPanel.add(graphPanel);
return totalPanel;
}
private void createComboTransf() {
transfs = new JComboBox();
transfs.setToolTipText(TRANSF_COMBO);
transfs.addItem("Logarithmic");
transfs.addItem("Mix - Max");
transfs.addItem("Standard Deviation");
}
private JScrollPane getScrollPaneTable() {
if (scrollTablePane == null) {
createTable();
scrollTablePane = new JScrollPane(variableTable,
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
}
return scrollTablePane;
}
private JWatUnivariateStatsTable createTable() {
if (variableTable == null) {
variableTable = new JWatUnivariateStatsTable(model);
variableTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
variableTable.setToolTipText(STATS_TABLE);
help.addHelp(variableTable,STATS_TABLE);
variableTable.setPlotFreq(plo);
variableTable.setPlotQQPlot(graph1);
variableTable.setLabel(transfList);
variableTable.setPanel(transfPanel);
variableTable.setShowGrid(true);
variableTable.setModel(getModel());
variableTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent e) {
if(variableTable.getSelectedRow() >= 0){
mainTransf.removeAll();
switch(model.getMatrix().getVariables()[variableTable.getSelectedRow()].getType()){
case VariableNumber.NUMERIC:
mainTransf.add(transfPanel);
break;
case VariableNumber.DATE:
blankPanel.setBorder(new TitledBorder(new EtchedBorder(
EtchedBorder.LOWERED),TRANSF_BORDER_TEXT + model.getMatrix().getVariables()
[(variableTable.getSelectedRow())].getName() + " - Type: Date"));
mainTransf.add(blankPanel);
break;
case VariableNumber.STRING:
blankPanel.setBorder(new TitledBorder(new EtchedBorder(
EtchedBorder.LOWERED),TRANSF_BORDER_TEXT + model.getMatrix().getVariables()
[(variableTable.getSelectedRow())].getName() + " - Type: String"));
mainTransf.add(blankPanel);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -