選項卡
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
public class JTabbedPaneDome extends JFrame{
public JTabbedPaneDome() {
JTabbedPane jTabbedPane = new JTabbedPane();
JPanel jpanel = new JPanel();
JPanel jPanel2 = new JPanel();
JPanel jPanel3 = new JPanel();
jpanel.add(new JLabel("第一個選項卡"));
jPanel2.add(new JLabel("第二個選項卡"));
jPanel2.setBackground(Color.BLUE);
jPanel3.add(new JLabel("第三選項卡"));
jPanel3.setBackground(Color.cyan);
jTabbedPane.add(" 壹 ", jpanel);
jTabbedPane.add(" 貳 ", jPanel2);
jTabbedPane.add(" 三 ", jPanel3);
this.add(jTabbedPane);
this.setTitle("選項卡布局");
this.setSize(800, 600);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args) {
new JTabbedPaneDome();
}
}
表格
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class WinTable extends JFrame implements ActionListener {
JTable table;
Object a[][];
Object name[] = { "姓名", "英語成績", "數學成績", "總成績" };
JButton button = new JButton("計算每人總成績");
public WinTable() {
a = new Object[8][4];
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 4; j++) {
if (j != 0) {
a[i][j] = "0";
} else {
a[i][j] = "姓名";
}
}
}
table = new JTable(a, name);
button.addActionListener(this);
Container con = getContentPane();
getContentPane().add(new JScrollPane(table), BorderLayout.CENTER);
con.add(new JLabel("修改或錄入數據後,需回車確認"), BorderLayout.SOUTH);
con.add(button, BorderLayout.SOUTH);
setSize(400, 300);
setVisible(true);
validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
for (int i = 0; i < 8; i++) {
double sum = 0;
boolean boo = true;
for (int j = 1; i <= 2; j++) {
try {
sum = sum + Double.parseDouble(a[i][j].toString());
} catch (Exception ee) {
boo = false;
table.repaint();
}
if (boo == true) {
a[i][3] = "" + sum;
table.repaint();
}
}
}
}
public static void main(String[] args) {
new WinTable();
}
}
分層窗口
import java.awt.Color;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JLayeredPane;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;
public class JLayeredPaneDemo extends JFrame{
public JLayeredPaneDemo() {
setTitle("測試窗口");
//大小
setSize(400, 300);
setLocationRelativeTo(null);
//關閉窗口退出程序
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);;
JLayeredPane jLayeredPane = new JLayeredPane();
JPanel jPanel = createPanel(Color.red, "L=100,P=1", 30, 30, 100, 100);
jLayeredPane.add(jPanel,new Integer(200));
JPanel jPanel2 = createPanel(Color.green, "L=200,p=0", 70, 70, 100, 100);
jLayeredPane.add(jPanel2,new Integer(200),0);
JPanel jPanel3 = createPanel(Color.cyan, "L=200,p=1", 110, 110, 100, 100);
jLayeredPane.add(jPanel3,new Integer(200), 1);
JPanel jPanel4 = createPanel(Color.yellow, "L=300", 150, 150, 100, 100);
jLayeredPane.add(jPanel4,new Integer(300));
setContentPane(jLayeredPane);
setVisible(true);
}
private static JPanel createPanel(Color bg,String text, int x,int y, int width,int height) {
//創建一個JPanel,使用1行1列的網格佈局
JPanel jPanel = new JPanel(new GridLayout(1,1));
//設置容器的位置和寬高
jPanel.setBounds(x, y, width, height);
//設置Panel背景
jPanel.setOpaque(true);
jPanel.setBackground(bg);
//創建標籤並設置相應屬性
JLabel jLabel = new JLabel(text);
jLabel.setHorizontalAlignment(SwingConstants.CENTER);
jLabel.setVerticalAlignment(SwingConstants.TOP);
//添加簽到標題
jPanel.add(jLabel);
return jPanel;
}
public static void main(String[] args) {
new JLayeredPaneDemo();
}
}