📄 creategui.java
字号:
//
//以下是布局GUI的类
//
import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.*;
import javax.swing.table.*;
class createGUI extends JFrame implements Runnable {
public createGUI() {
setTitle("个人财经助手中央控制器");
setSize(600,400);
setResizable(false);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
setLocation(100,100);
//建立“收入管理”面板
incomePanel.setLayout(new GridLayout(3,2,10,40));
incomePanel.add(incomeRecordButton);
incomePanel.add(addIncomeRecordButton);
incomePanel.add(incomePlanButton);
incomePanel.add(incomeResultButton);
incomePanel.add(thinkedIncomeButton);
incomePanel.add(thinkingIncomeButton);
Border incomeEtched=BorderFactory.createEtchedBorder();
Border incomeTitled=BorderFactory.createTitledBorder
(incomeEtched,"收入管理",TitledBorder.CENTER,
TitledBorder.TOP,new Font("SansSerif",Font.BOLD,20),
Color.green);
incomePanel.setBorder(incomeTitled);
//建立“中央银行”面板
bankPanel.setLayout(new BorderLayout());
bankPanel.add(bankButton,"South");
bankPanel.add(clockPanel,"Center");
bankPanel.setBorder(BorderFactory.createLoweredBevelBorder());
//建立“支出管理”面板
outgoPanel.setLayout(new GridLayout(3,2,10,40));
outgoPanel.add(outgoRecordButton);
outgoPanel.add(addOutgoRecordButton);
outgoPanel.add(outgoPlanButton);
outgoPanel.add(outgoResultButton);
outgoPanel.add(thinkedOutgoButton);
outgoPanel.add(thinkingOutgoButton);
Border outgoEtched=BorderFactory.createEtchedBorder();
Border outgoTitled=BorderFactory.createTitledBorder
(outgoEtched,"支出管理",TitledBorder.CENTER,
TitledBorder.TOP,new Font("SansSerif",Font.BOLD,20),
Color.green);
outgoPanel.setBorder(outgoTitled);
//将“收入管理”、“左对联”加入panel1
panel1.setLayout(new BorderLayout());
panel1.add(incomePanel,"Center");
panel1.add(leftPoemLabel,"North");
//将“支出管理”、“右对联”加入panel3
panel3.setLayout(new BorderLayout());
panel3.add(outgoPanel,"Center");
panel3.add(rightPoemLabel,"North");
//将“中央画面”、“银行面板”加入panel2
panel2.setLayout(new GridLayout(2,1));
panel2.add(centralPicturePanel);
panel2.add(bankPanel);
//建立“综合管理”面板
extraManagePanel.setLayout(new GridLayout(1,4));
extraManagePanel.add(conditionButton);
extraManagePanel.add(qualityButton);
extraManagePanel.add(classroomButton);
extraManagePanel.add(calculatorButton);
Border extraEtched=BorderFactory.createEtchedBorder();
Border extraTitled=BorderFactory.createTitledBorder
(extraEtched,"综合管理",TitledBorder.CENTER,
TitledBorder.TOP,new Font("SansSerif",Font.BOLD,20),
Color.green);
extraManagePanel.setBorder(extraTitled);
//组成“中央控制器”整体布局
panel123.setLayout(new GridLayout(1,3));
panel123.add(panel1);
panel123.add(panel2);
panel123.add(panel3);
Container contentPane=getContentPane();
contentPane.add(extraManagePanel,"South");
contentPane.add(panel123,"Center");
start();
}//end constructor.
public void start() {
Thread clockThread;
clockThread=new Thread(clockPanel);
clockThread.start();
Thread thisThread=new Thread(this);
thisThread.start();
}
public void run() {}
//以下是addPoemLabel方法
public JLabel addPoemLabel(String s) {
int i=1;
JLabel label=new JLabel(s,JLabel.CENTER);
Font f=new Font("SansSerif",Font.BOLD,30);
label.setFont(f);
label.setBorder(BorderFactory.createRaisedBevelBorder());
int r=(int)(Math.random()*255);
int g=(int)(Math.random()*255);
int b=(int)(Math.random()*255);
label.setForeground(new Color(r,g,b));
return label;
}
//以下为私有变量
private Font f=new Font("SansSerif",Font.BOLD,16);
private JPanel incomePanel=new JPanel();
private JButton incomeRecordButton=new IncomeRecordButton("收入记录",f);
private JButton addIncomeRecordButton=new AddRecordButton("添加记录",f,"收入");
private JButton incomePlanButton=new MessageButton("收入计划",f,this,
"如果你有足够的收入需要计划,请跟家宽联系!^_^");
private JButton incomeResultButton=new MessageButton("收入结算",f,this,
"如果你有足够的收入需要结算,请跟家宽联系!^_^");
private JButton thinkedIncomeButton=new ThinkedButton("反省记录",f);
private JButton thinkingIncomeButton=new ThinkingButton("现在反省",f);
private JPanel bankPanel=new JPanel();
private Clock2 clockPanel=new Clock2("clock");
private JButton bankButton=new BankButton("中央银行");
private JPanel outgoPanel=new JPanel();
private JButton outgoRecordButton=new OutgoRecordButton("支出记录",f);
private JButton addOutgoRecordButton=new AddRecordButton("添加记录",f,"支出");
private JButton outgoPlanButton=new MessageButton("支出预算",f,this,
"如果你有足够的支出需要预算,请跟家宽联系!^_^");
private JButton outgoResultButton=new MessageButton("支出结算",f,this,
"如果你有足够的支出需要结算,请跟家宽联系!^_^");
private JButton thinkedOutgoButton=new ThinkedButton("反省记录",f);
private JButton thinkingOutgoButton=new ThinkingButton("现在反省",f);
private JLabel leftPoemLabel=addPoemLabel("取之有道");
private JPanel centralPicturePanel=new CentralPicturePanel();
private JLabel rightPoemLabel=addPoemLabel("用之有度");
private JPanel panel1=new JPanel();
private JPanel panel2=new JPanel();
private JPanel panel3=new JPanel();
private JPanel panel123=new JPanel();
private JPanel extraManagePanel=new JPanel();
private JButton conditionButton=new ConditionButton("经济状况",
new ImageIcon("condition.gif"));
private JButton qualityButton=new MessageButton("思想素质",this,
new ImageIcon("think.gif"),
"想了解自己的思想素质吗?去复习复习你的反省记录吧!");
private JButton classroomButton=new MessageButton("学习基地",this,
new ImageIcon("classroom.gif"),
"只要肯爬山,只要肯下海,你就会成功!(书山、学海)");
private JButton calculatorButton=new CalculatorButton();
}//end class createGUI.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -