?? aishow.java
字號:
package ball;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
/**
* <p>Title: 類說明</p>
*
* <p>Description: AI演示面板</p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author goodboy
* @version 2.1
*/
public class AIShow extends JFrame {
int size=16; //表格大小
String[][] data={{"","","","","","","","","","","","","","","",""},{"","","","","","","","","","","","","","","",""},
{"","","","","","","","","","","","","","","",""},{"","","","","","","","","","","","","","","",""},
{"","","","","","","","","","","","","","","",""},{"","","","","","","","","","","","","","","",""},
{"","","","","","","","","","","","","","","",""},{"","","","","","","","","","","","","","","",""},
{"","","","","","","","","","","","","","","",""},{"","","","","","","","","","","","","","","",""},
{"","","","","","","","","","","","","","","",""},{"","","","","","","","","","","","","","","",""},
{"","","","","","","","","","","","","","","",""},{"","","","","","","","","","","","","","","",""},
{"","","","","","","","","","","","","","","",""},{"","","","","","","","","","","","","","","",""}}; //預測表數據
String[] column={"0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15"}; //預測表列名
String[][] seData={{"","",""},{"","",""},{"","",""},{"","",""},{"","",""},{"","",""},{"","",""},{"","",""}}; //AI選擇數據
String[] seColumn={"x坐標","y坐標","權值"}; //AI選擇數據列名
int showIndex=0; //顯示表序號
int selectionIndex=0; //AI選擇數據序號
TableModel model1=new DefaultTableModel(data, column); //預測表表格model
TableModel model2=new DefaultTableModel(seData, seColumn); //AI選擇數據表格model
String[] list1={"AI預測表1","AI預測表2","AI預測表3","AI預測表4","AI預測表5","AI預測表6","AI預測表7"}; //列表內容
String[] list2={"用戶預測表1","用戶預測表2","用戶預測表3","用戶預測表4","用戶預測表5","用戶預測表6","用戶預測表7"}; //列表內容
//用戶預測表
int[][] userPreBoard1=new int[size][size];
int[][] userPreBoard2=new int[size][size];
int[][] userPreBoard3=new int[size][size];
int[][] userPreBoard4=new int[size][size];
int[][] userPreBoard5=new int[size][size];
int[][] userPreBoard6=new int[size][size];
int[][] userPreBoard7=new int[size][size];
//AI預測表
int[][] aiPreBoard1=new int[size][size];
int[][] aiPreBoard2=new int[size][size];
int[][] aiPreBoard3=new int[size][size];
int[][] aiPreBoard4=new int[size][size];
int[][] aiPreBoard5=new int[size][size];
int[][] aiPreBoard6=new int[size][size];
int[][] aiPreBoard7=new int[size][size];
JScrollPane jScrollPane1 = new JScrollPane();
JTable jTable1 = new JTable(model1);
JPanel jPanel1 = new JPanel();
JPanel jPanel2 = new JPanel();
JLabel jLabel1 = new JLabel();
JComboBox jComboBox1 = new JComboBox(list1);
JLabel jLabel2 = new JLabel();
JComboBox jComboBox2 = new JComboBox(list2);
JButton jButton1 = new JButton();
JLabel jLabel3 = new JLabel();
JScrollPane jScrollPane2 = new JScrollPane();
JTable jTable2 = new JTable(model2);
JPanel jPanel3 = new JPanel();
JLabel jLabel4 = new JLabel();
public AIShow() {
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
getContentPane().setLayout(null);
this.setTitle("AI分析");
this.setResizable(false);
this.setSize(new Dimension(457, 520));
//窗體放在中央
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = this.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
this.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
jLabel1.setText("AI預測表");
jLabel2.setText("用戶預測表");
jButton1.setText("確定");
jButton1.addActionListener(new AIShow_jButton1_actionAdapter(this));
jComboBox1.addActionListener(new AIShow_jComboBox1_actionAdapter(this));
jComboBox2.addActionListener(new AIShow_jComboBox2_actionAdapter(this));
jLabel3.setText("<html><b><font color=blue>請選擇查看的預測表<blue>");
jTable1.setRowSelectionAllowed(false);
jTable1.addMouseListener(new AIShow_jTable1_mouseAdapter(this));
jPanel1.setBounds(new Rectangle( -1, 441, 450, 33));
jScrollPane1.setBounds(new Rectangle(0, 33, 450, 281));
jPanel2.setBounds(new Rectangle(0, 0, 450, 33));
jScrollPane2.setBounds(new Rectangle(0, 347, 450, 87));
jPanel3.setBounds(new Rectangle(0, 315, 450, 25));
jLabel4.setText("<html><b><font color=blue>優選點數據");
jScrollPane1.getViewport().add(jTable1);
jPanel2.add(jLabel3);
jPanel2.add(jLabel1);
jPanel2.add(jComboBox1);
jPanel2.add(jLabel2);
jPanel2.add(jComboBox2);
this.getContentPane().add(jPanel2, null);
this.getContentPane().add(jScrollPane1, null);
jPanel3.add(jLabel4);
this.getContentPane().add(jScrollPane2);
this.getContentPane().add(jPanel1, null);
jPanel1.add(jButton1);
jScrollPane2.getViewport().add(jTable2);
this.getContentPane().add(jPanel3);
}
/**
* <p>Description: 重設AI選擇數據表數據</p>
*/
public void resetSelection(){
while(selectionIndex>0){
selectionIndex--;
model2.setValueAt("", selectionIndex, 0);
model2.setValueAt("", selectionIndex, 1);
model2.setValueAt("", selectionIndex, 2);
}
jLabel4.setText("<html><b><font color=blue>優選點數據");
}
/**
* <p>Description: 更新AI選擇數據表數據</p>
* @param x 棋子橫坐標
* @param y 棋子縱坐標
* @param weight 棋子權值
*/
public void updateSelection(int x, int y, int weight){
if(selectionIndex<8){
model2.setValueAt(x, selectionIndex, 0);
model2.setValueAt(y, selectionIndex, 1);
model2.setValueAt(weight, selectionIndex, 2);
selectionIndex++;
}
}
//選擇關閉窗口
public void jButton1_actionPerformed(ActionEvent e) {
setVisible(false);
}
//選擇查看AI預測表
public void jComboBox1_actionPerformed(ActionEvent e) {
int index=jComboBox1.getSelectedIndex();
switch(index){
case 0:{
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
model1.setValueAt(aiPreBoard1[i][j],j,i);
}
}
jLabel3.setText("<html><b><font color=blue>AI預測表1<blue>");
break;
}
case 1:{
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
model1.setValueAt(aiPreBoard2[i][j],j,i);
}
}
jLabel3.setText("<html><b><font color=blue>AI預測表2<blue>");
break;
}
case 2:{
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
model1.setValueAt(aiPreBoard3[i][j],j,i);
}
}
jLabel3.setText("<html><b><font color=blue>AI預測表3<blue>");
break;
}
case 3:{
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
model1.setValueAt(aiPreBoard4[i][j],j,i);
}
}
jLabel3.setText("<html><b><font color=blue>AI預測表4<blue>");
break;
}
case 4:{
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
model1.setValueAt(aiPreBoard5[i][j],j,i);
}
}
jLabel3.setText("<html><b><font color=blue>AI預測表5<blue>");
break;
}
case 5:{
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
model1.setValueAt(aiPreBoard6[i][j],j,i);
}
}
jLabel3.setText("<html><b><font color=blue>AI預測表6<blue>");
break;
}
case 6:{
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
model1.setValueAt(aiPreBoard7[i][j],j,i);
}
}
jLabel3.setText("<html><b><font color=blue>AI預測表7<blue>");
break;
}
}
}
//選擇查看用戶預測表
public void jComboBox2_actionPerformed(ActionEvent e) {
int index=jComboBox2.getSelectedIndex();
switch(index){
case 0:{
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
model1.setValueAt(userPreBoard1[i][j],j,i);
}
}
jLabel3.setText("<html><b><font color=blue>用戶預測表1<blue>");
break;
}
case 1:{
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
model1.setValueAt(userPreBoard2[i][j],j,i);
}
}
jLabel3.setText("<html><b><font color=blue>用戶預測表2<blue>");
break;
}
case 2:{
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
model1.setValueAt(userPreBoard3[i][j],j,i);
}
}
jLabel3.setText("<html><b><font color=blue>用戶預測表3<blue>");
break;
}
case 3:{
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
model1.setValueAt(userPreBoard4[i][j],j,i);
}
}
jLabel3.setText("<html><b><font color=blue>用戶預測表4<blue>");
break;
}
case 4:{
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
model1.setValueAt(userPreBoard5[i][j],j,i);
}
}
jLabel3.setText("<html><b><font color=blue>用戶預測表5<blue>");
break;
}
case 5:{
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
model1.setValueAt(userPreBoard6[i][j],j,i);
}
}
jLabel3.setText("<html><b><font color=blue>用戶預測表6<blue>");
break;
}
case 6:{
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
model1.setValueAt(userPreBoard7[i][j],j,i);
}
}
jLabel3.setText("<html><b><font color=blue>用戶預測表7<blue>");
break;
}
}
}
//選中查看坐標
public void jTable1_mouseClicked(MouseEvent e) {
jLabel4.setText("<html><b><font color=blue>選中點坐標: x: "+jTable1.getSelectedRow()+",y: "+jTable1.getSelectedColumn());
}
}
class AIShow_jTable1_mouseAdapter extends MouseAdapter {
private AIShow adaptee;
AIShow_jTable1_mouseAdapter(AIShow adaptee) {
this.adaptee = adaptee;
}
public void mouseClicked(MouseEvent e) {
adaptee.jTable1_mouseClicked(e);
}
}
class AIShow_jComboBox2_actionAdapter implements ActionListener {
private AIShow adaptee;
AIShow_jComboBox2_actionAdapter(AIShow adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jComboBox2_actionPerformed(e);
}
}
class AIShow_jComboBox1_actionAdapter implements ActionListener {
private AIShow adaptee;
AIShow_jComboBox1_actionAdapter(AIShow adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jComboBox1_actionPerformed(e);
}
}
class AIShow_jButton1_actionAdapter implements ActionListener {
private AIShow adaptee;
AIShow_jButton1_actionAdapter(AIShow adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -