?? simppanel.java
字號:
package com.sea0108.simpmethod;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Insets;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class SimpPanel extends JPanel
{
private int matrixRow;
private int matrixCol;
public JTextField[][] textFieldsA;
public JTextField[] textFieldsB;
public JTextField[] textFieldsObj;
public JComboBox[] comboBoxs;
public JCheckBox[] checkBoxs;
public JComboBox comboBoxObj=new JComboBox(new String[]{"max","min"});
public static final String[] SYMBOLS=new String[]{"=","≤","≥"};
public static final Font FONT =new Font("Dialog",Font.ITALIC,12);
public SimpPanel(int row,int col)
{
matrixRow=row;
matrixCol=col;
init();
}
private void init()
{
JPanel panelObj=new JPanel();
JPanel panelRestriction=new JPanel();
JPanel panelInteger=new JPanel();
JPanel[] panels=new JPanel[4];
JLabel[] labels=new JLabel[matrixRow];
GridBagLayout gridBag=new GridBagLayout();
GridBagConstraints gridBagC=new GridBagConstraints();
gridBagC.insets=new Insets(0,20,0,20);
this.setLayout(new BorderLayout());
this.add(panelObj,"North");
this.add(panelRestriction,"Center");
this.add(panelInteger,"South");
this.add(new JPanel(),"East");
//init panelObj
JLabel lbl=new JLabel("目標函數 ");
JLabel lbl2=new JLabel(" = ");
lbl.setFont(SimpFrame.FONT);
lbl2.setFont(SimpFrame.FONT);
comboBoxObj.setFont(SimpFrame.FONT);
comboBoxObj.setPreferredSize(new Dimension(50,22));
panelObj.add(lbl);
panelObj.add(comboBoxObj);
panelObj.add(lbl2);
JLabel[] labelsObj=new JLabel[matrixCol];
textFieldsObj=new JTextField[matrixCol];
for(int i=0;i<matrixCol;i++)
{
String s=i<matrixCol-1 ? " +" : " ";
labelsObj[i]=new JLabel("x"+(i+1)+s);
labelsObj[i].setFont(FONT);
textFieldsObj[i]=new JTextField(3);
panelObj.add(textFieldsObj[i]);
panelObj.add(labelsObj[i]);
}
//init panelRestriction
panelRestriction.setLayout(gridBag);
for(int i=0;i<panels.length;i++)
{
panels[i]=new JPanel();
panelRestriction.add(panels[i]);
}
//init panelInteger
JLabel lbl4 = new JLabel("整數約束");
lbl4.setFont(SimpFrame.FONT);
panelInteger.add(lbl4);
checkBoxs =new JCheckBox[matrixCol];
for(int i=0;i<matrixCol;i++)
{
JLabel lbl3 = new JLabel(" x" + (i+1));
lbl3.setFont(FONT);
checkBoxs[i] = new JCheckBox("",true);
panelInteger.add(lbl3);
panelInteger.add(checkBoxs[i]);
}
//init panels[0]
panels[0].setLayout(new GridLayout(matrixRow,1,0,9));
gridBag.setConstraints(panels[0],gridBagC);
for(int i=0;i<matrixRow;i++)
{
labels[i]=new JLabel("約束"+ (i+1));
labels[i].setFont(SimpFrame.FONT);
panels[0].add(labels[i]);
}
//init panels[1]
panels[1].setLayout(new GridLayout(matrixRow,matrixCol,6,5));
textFieldsA=new JTextField[matrixRow][matrixCol];
for(int i=0;i<matrixRow;i++)
for(int j=0;j<matrixCol;j++)
{
textFieldsA[i][j]=new JTextField(4);
panels[1].add(textFieldsA[i][j]);
}
//init panels[2] & panels[3]
panels[2].setLayout(new GridLayout(matrixRow,1,0,5));
gridBag.setConstraints(panels[2],gridBagC);
panels[3].setLayout(new GridLayout(matrixRow,1,0,5));
comboBoxs=new JComboBox[matrixRow];
textFieldsB=new JTextField[matrixRow];
for(int i=0;i<matrixRow;i++)
{
// init panels[2]
comboBoxs[i]=new JComboBox(SYMBOLS);
comboBoxs[i].setFont(SimpFrame.FONT);
comboBoxs[i].setPreferredSize(new Dimension(42,22));
panels[2].add(comboBoxs[i]);
//init panels[3]
textFieldsB[i]=new JTextField(4);
panels[3].add(textFieldsB[i]);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -