📄 vsnetstartpage.java
字号:
/*
* Created on Apr 15, 2005
*/
package org.flexdock.demos.util;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Rectangle;
import javax.swing.Icon;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.border.LineBorder;
import org.flexdock.util.ResourceManager;
/**
* @author Christopher Butler
*/
public class VSNetStartPage extends JPanel {
private Icon miscIcons;
private Image tabsImg;
private Color tabRunBG;
private Color contentBG1;
private Color contentBG2;
private Color tableBG1;
private Font labelFont;
private JButton newProjButton;
private JButton openProjButton;
private JPanel tablePane;
private JPanel contentPane;
private JTabbedPane tabbedPane;
public VSNetStartPage() {
super(new BorderLayout(0, 0));
init();
}
private void init() {
initAttribs();
newProjButton = new JButton("New Project");
openProjButton = new JButton("Open Project");
tablePane = createTablePane();
contentPane = createContentPane();
contentPane.add(tablePane);
contentPane.add(newProjButton);
contentPane.add(openProjButton);
tabbedPane = createTabbedPane();
tabbedPane.addTab("Start Page", contentPane);
tabbedPane.setBorder(null);
add(tabbedPane, BorderLayout.CENTER);
setBorder(new LineBorder(Color.GRAY, 1));
}
private void initAttribs() {
miscIcons = ResourceManager.createIcon("org/flexdock/demos/view/ms_misc_icons001.png");
tabsImg = ResourceManager.createImage("org/flexdock/demos/view/ms_tabs001.png");
tabRunBG = new Color(247, 243, 233);
contentBG1 = new Color(246, 246, 246);
contentBG2 = new Color(102, 153, 204);
tableBG1 = new Color(154, 154, 143);
labelFont = new Font("Dialog", Font.BOLD, 11);
}
private JPanel createTablePane() {
return new JPanel() {
protected void paintComponent(Graphics g) {
g.setColor(tableBG1);
g.fillRect(0, 0, getWidth(), 20);
g.setColor(VSNetStartPage.this.getBackground());
g.drawRect(0, 0, getWidth() - 1, getHeight() - 1);
g.setColor(Color.BLACK);
g.setFont(labelFont);
g.drawString("Name", 5, 15);
g.drawString("Modified", 350, 15);
}
};
}
private JPanel createContentPane() {
return new JPanel(null) {
public void doLayout() {
int tableH = getHeight() - 120 - 55;
tableH = Math.max(tableH, 25);
tablePane.setBounds(12, 120, 475, tableH);
int buttonY = 120 + tableH + 18;
Dimension d = newProjButton.getPreferredSize();
newProjButton.setBounds(12, buttonY, d.width, d.height);
openProjButton.setBounds(24 + d.width, buttonY, openProjButton.getPreferredSize().width, d.height);
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
int w = getWidth();
Color origC = g.getColor();
Font origF = g.getFont();
g.setColor(Color.WHITE);
g.fillRect(0, 0, w, getHeight());
g.setColor(contentBG1);
g.fillRect(0, 0, w, 48);
g.setColor(contentBG2);
g.fillRect(0, 48, w, 23);
g.drawImage(tabsImg, 0, 0, null, this);
g.setColor(Color.BLACK);
g.setFont(labelFont);
g.drawString("Open an Existing Project", 12, 100);
g.setFont(origF);
g.setColor(origC);
}
};
}
private JTabbedPane createTabbedPane() {
return new JTabbedPane(JTabbedPane.TOP) {
protected void paintComponent(Graphics g) {
Color orig = g.getColor();
Rectangle tabBounds = getBoundsAt(0);
int tabLowerY = tabBounds.y + tabBounds.height;
g.setColor(tabRunBG);
g.fillRect(0, 0, getWidth(), tabLowerY);
int iconX = getWidth() - miscIcons.getIconWidth();
int iconY = (tabLowerY) / 2 - miscIcons.getIconHeight() / 2 + 1;
miscIcons.paintIcon(this, g, iconX, iconY);
g.setColor(orig);
super.paintComponent(g);
g.setColor(Color.WHITE);
g.drawRect(0, 0, getWidth() - 1, getHeight() - 1);
g.drawRect(1, tabLowerY - 1, getWidth() - 3, getHeight() - tabLowerY - 1);
g.setColor(orig);
}
};
}
public JButton getNewProjButton() {
return newProjButton;
}
public JButton getOpenProjButton() {
return openProjButton;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -